Heim  >  Artikel  >  PHP-Framework  >  Laravel-Abfragesyntax

Laravel-Abfragesyntax

WBOY
WBOYOriginal
2023-05-29 10:01:37715Durchsuche

Laravel ist heute eines der beliebtesten PHP-Frameworks. Seine Abfragesyntax ist elegant, einfach und benutzerfreundlich. In diesem Artikel werde ich mich mit der Abfragesyntax von Laravel befassen, einige gängige Abfragemethoden vorstellen und die Durchführung komplexer Abfragen erläutern.

Grundlegende Syntax der Laravel-Abfrage
In Laravel werden Abfrageanweisungen mit Eloquent ORM erstellt. ORM ist Object Relational Mapping, das es uns ermöglicht, die Datenbank objektorientiert zu betreiben und so den Interaktionsprozess mit der Datenbank erheblich zu vereinfachen.

Das Folgende ist ein Beispiel mit der Laravel-Abfragesyntax:

//Einen einzelnen Benutzer abrufen
$user = User::find(1);

//Eine Liste von Benutzern abrufen
$users = User::all( );

//Bedingte Filterung, Benutzerliste unter bestimmten Bedingungen abrufen
$users = User::where('age', '>', 18)->get();

//Daten aktualisieren
$user-> ;name = 'new name';
$user->save();

//Daten löschen
$user->delete();

Wie oben gezeigt, verwenden Sie die Laravel-Abfragesyntax kann grundlegende CURD-Operationen problemlos implementieren. Im Folgenden stellen wir einige häufig verwendete Abfragemethoden vor.

Häufig verwendete Abfragemethoden

  1. where()
    where()-Methode ist eine sehr häufige bedingte Filtermethode. Filtern Sie Datensätze heraus, die die Anforderungen basierend auf bestimmten Bedingungen erfüllen. Zum Beispiel:

$users = User::where('age', '>', 18)->where('gender', 'male')->get();

where() Methode Sie können auch einen dritten Parameter erhalten, um den Operator anzugeben, zum Beispiel:

$users = User::where('age', '>=', 18)->get();

  1. orderBy( )
    orderBy()-Methode wird zum Sortieren verwendet. Wir können zum Beispiel nach dem Alter der Benutzer sortieren:

$users = User::orderBy('age')->get();

Standardmäßig sortiert die Methode orderBy() in aufsteigender Reihenfolge. Wenn Sie in absteigender Reihenfolge sortieren möchten, können Sie einen DESC-Parameter übergeben:

$users = User::orderBy('age', 'desc')->get();

Darüber hinaus kann orderBy() Die Methode kann mehrere Parameter zum Angeben mehrerer Sortierbedingungen empfangen:

$users = User::orderBy('age', 'desc')->orderBy('name')->get();

  1. select( ) Die Methode
    select() wird verwendet, um die angegebene Spalte abzufragen. Zum Beispiel:

$users = User::select('name', 'email')->get();

Sie können auch * verwenden, um alle Spalten abzufragen:

$users = User::select (' *')->get();

  1. take() und ski()
    take()-Methoden werden verwendet, um die Anzahl der zurückgegebenen Datensätze zu begrenzen, und skip() wird verwendet, um eine bestimmte Anzahl von Datensätzen zu überspringen . Beispielsweise können wir die Top-10-Benutzer abfragen:

$users = User::take(10)->get();

Wir können auch die Methode „skip()“ verwenden, um Paging zu implementieren:

$users = Benutzer: :skip(10)->take(10)->get();

  1. whereIn() und whereNotIn()
    whereIn(), whereNotIn() Methoden können verwendet werden, um IN und NOT IN zu verwenden bei Abfragen. Um beispielsweise Benutzer unter 18 Jahren zu gewinnen, können Sie schreiben:

$users = User::whereIn('age', [16, 17, 18])->get();

  1. whereNull( ) und die Methode whereNotNull()
    whereNull() kann die Datensätze herausfiltern, deren angegebene Spalte leer ist, und die Methode whereNotNull() kann die Datensätze herausfiltern, die nicht leer sind. Zum Beispiel: Die Methoden

$users = User::whereNull('email')->get();

  1. groupBy() und getting()
    groupBy() werden verwendet, um die Ergebnismenge zu gruppieren ( )-Methode wird zum Filtern gruppierter Ergebnisse verwendet. Beispielsweise können wir nach Geschlecht gruppieren und männliche Benutzer herausfiltern, die über 20 Jahre alt sind:

$users = User::groupBy('gender')->having('age', '>' , 20 )->get();

Komplexe Abfrage

Das Obige führt in einige grundlegende Verwendungen der Laravel-Abfragesyntax ein. In der realen Entwicklung können die Daten, die wir normalerweise abfragen müssen, jedoch sehr komplex sein und es müssen mehr Abfragemethoden verwendet werden, um dies zu erreichen. In Laravel können Sie den Query Builder verwenden, um komplexere Abfrageanweisungen zu schreiben.

Um beispielsweise die Benutzer abzufragen, deren kumulierter Verbrauch 500 Yuan im Kaufdatensatz des Benutzers übersteigt, können Sie Folgendes schreiben:

$users = DB::table('users')

        ->join('orders', 'users.id', '=', 'orders.user_id')
        ->select('users.id', 'users.name', 'users.email', DB::raw('SUM(orders.total) as total'))
        ->groupBy('users.id')
        ->having('total', '>', 500)
        ->get();

Im obigen Code Wir verwenden die Methode „join()“, um die Benutzertabelle und die Bestelltabelle zu verbinden, die Methode „groupBy()“ wird zum Gruppieren von Benutzern verwendet und die Methode „having()“ wird verwendet, um Benutzer herauszufiltern, deren Gesamtverbrauch 500 Yuan übersteigt.

Zusammenfassung

In Laravel können grundlegende CURD-Operationen einfach mit Eloquent ORM implementiert werden. Gleichzeitig können mit dem Query Builder komplexere Abfragen umgesetzt werden. Ich hoffe, dass dieser Artikel Ihnen hilft, die Abfragesyntax von Laravel zu verstehen.

Das obige ist der detaillierte Inhalt vonLaravel-Abfragesyntax. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn