Komplexe Laravel-Abfragen

Laravel bietet einen leistungsstarken Abfrage-Builder (Query Builder) und Eloquent ORM zur Bearbeitung komplexer Datenbankabfragen. Hier sind einige Beispiele, die zeigen, wie komplexe Abfragen in Laravel durchgeführt werden:

1. Einfache Abfrage:
```php
$users = DB::table('users')->get(); // alle Benutzer abrufen

$user = DB::table('users')->where('id', 1)->first(); // Den Benutzer abrufen, dessen ID 1 ist

$users = DB::table('users')
            ->where('votes', '>', 100)
            ->orWhere('name', 'John')
            ->get(); // Stimmen erhalten, die größer sind als 100 oder ein Benutzer namens John
„“.

2. Join-Abfrage:
```php
$users = DB::table('users')
            ->join('contacts', 'users.id', '=', 'contacts.user_id')
            ->select(' Users.*', 'contacts.phone', 'contacts.address')
            ->get(); // Führen Sie die Inner-Join-Abfrage aus und wählen Sie das angegebene Feld aus

$users = DB::table('users')
            ->leftJoin('posts', 'users.id', '=', 'posts.user_id')
            ->get(); // Left-Join-
Abfrage ausführen`` `

3. Unterabfrage:
```php
$users = DB::table('users')
            ->whereIn('id', function ($query) {                 $query->select('user_id')                       ->from(' Aufträge ')                       ->where('price', '>', 100);             })             ->get(); // Führen Sie die Unterabfrage aus, um die Benutzer abzurufen, die die Bedingungen erfüllen





4. Aggregatfunktionen und Gruppierung:
```php
$users = DB::table('users')
            ->select('account_id', DB::raw('SUM(votes) as total_votes'))
            ->groupBy( 'account_id')
            ->get(); // Aggregatfunktion und Gruppierung ausführen, Gesamtzahl der Stimmen für jedes Konto berechnen
```

5. Unterabfrage und Union-Abfrage:
```php
$first = DB::table('users')
            ->whereNull('first_name');

$users = DB::table('users')
            ->whereNull('last_name')
            ->union($first)
            ->get(); // Union-Abfrage ausführen, um Benutzer ohne Namen abzurufen (Name ist leer oder Nachname ist). leer)
```

Dies sind nur einige Beispiele für die Abfrage-Builder von Laravel. Sie können je nach Ihren tatsächlichen Anforderungen komplexere Abfragen verwenden. Der Abfrage-Builder von Laravel und Eloquent ORM bieten viele Methoden und Optionen zum Erstellen flexibler und leistungsstarker Abfragen und sorgen gleichzeitig dafür, dass Ihr Code lesbar und wartbar bleibt.

Supongo que te gusta

Origin blog.csdn.net/canduecho/article/details/131395039
Recomendado
Clasificación