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.