Heim > Artikel > Backend-Entwicklung > Laravel Learning – Beispielcode-Sharing für Datenbankoperationen und Abfragekonstruktoren
-Magie. Die Methode delegiert den Zugriff auf die MitgliedsmethodeKürzlich untersucht der Herausgeber das sogenannte beste Framework der Welt – Laravel. Tatsächlich ist der Lernrahmen die Idee des Lernrahmens! Ich möchte einige meiner Erfahrungen beim Lernen von Laravel in meinem Blog festhalten. Jeder ist herzlich eingeladen, meinen anderen GitHub-Blogs und Kurzbüchern zu folgen, um miteinander zu kommunizieren!
Version: Laravel 5.2
Appearance-Objekts zu verwenden, um die SQL-Abfrage direkt auszuführen, und die andere darin, die statische Methode der Model-Klasse zu verwenden (eigentlich auch die Implementierung von Facade, die den statischen Zugriff verwendet). Methode, um auf das Modell zuzugreifen, und verwendet intern die
Datenbank: mysql 5.7
PHP7.1 Eine besteht darin, die statische Methode des
-Objekt wird die Verwendung dieser Methode empfohlen, die klarer ist DB
callStatic
Alle Datenspalten aus der Datentabelle abrufen#
$results = DB::select('select * from users where id = ?', [1]);foreach ($results as $res) { echo $res->name; }
StdClass
Wenn Sie nur den Wert einer Spalte benötigen, können Sie die Wertmethode verwenden, um den Wert einer einzelnen Spalte direkt zu erhalten
$results = DB::select('select * from users where id = :id', ['id' => 1]);Suchen Die Datenspalte in Blöcken aus der DatentabelleDiese Methode wird für Operationen mit einer großen Datenmenge in der Datentabelle verwendet und jedes Mal, wenn das Ergebnis erhalten wird, Konzentrieren Sie sich darauf, einen Teil herauszunehmen, und verwenden Sie die Verschlussfunktion Um es zu verarbeiten, wird dieser Befehl im Allgemeinen im Artisan-Befehlszeilenprogramm verwendet, um große Datenmengen zu verarbeiten, wenn
$users = DB::table('users')->get(); foreach ($users as $user) { var_dump($user->name); }zurückgegeben wird , die nachfolgende Verarbeitung wird gestoppt Abfrage der Liste einer bestimmten Spalte aus der Datentabelle #Zum Beispiel möchten wir alle
$user = DB::table('users')->where('name', 'John')->first(); echo $user->name;Feldwerte Die
$email = DB::table('users')->where('name', 'John')->value('email');-Funktion hat hier zwei Parameter
Der erste Parameter ist die abzufragende Spalte und der zweite Parameter ist der Schlüssel jeder Spalte
DB::table('users')->chunk(100, function($users){ foreach ($users as $user) { // } });
Aggregationsfunktionenfalse
usw. bereit.
title
Ausgewählte Abfragebedingungen angeben
$titles = DB::table('roles')->pluck('title');foreach ($titles as $title) { echo $title; }Fragen Sie die angegebenen Spalten ab#
pluck
Collection pluck( string $column, string|null $key = null)Abfrage für verschiedene Ergebnisse eindeutig#
$roles = DB::table('roles')->pluck('title', 'name');foreach ($roles as $name => $title) { echo $title; }Verwenden Sie den nativen
-Ausdruck count,max,min,avg,sum
#
$users = DB::table('users')->count(); $price = DB::table('orders')->max('price'); $price = DB::table('orders')->where('finalized', 1)->avg('price');Mit der
$users = DB::table('users')->select('name', 'email as user_email')->get();
Inner Join#
$query = DB::table('users')->select('name');$users = $query->addSelect('age')->get();Verwenden Sie Join, um eine Inner-Join-Operation durchzuführen. Der erste Parameter dieser Funktion ist der Name der Tabelle verbunden werden, und die anderen Parameter geben die Verbindungsbeschränkungen an Erweiterte Join-Methode#
$users = DB::table('users')->distinct()->get();
Wenn die Einschränkungen der Join-Methode komplexer sind, können Sie eine Abschlussfunktion verwenden, um sie anzugeben
Wenn Sie verwenden möchten Um die Spaltenwerte mit dem angegebenen Array in den Join-Einschränkungen zu vergleichen, können Sie die Methoden where und OrWhere verwenden DB::raw
$users = DB::table('users') ->select(DB::raw('count(*) as user_count, status')) ->where('status', '<>', 1) ->groupBy('status') ->get();
Die Methode kann auch mit denselben Parametern wie Union verwendet werden.
$users = DB::table('users') ->join('contacts', 'users.id', '=', 'contacts.user_id') ->join('orders', 'users.id', '=', 'orders.user_id') ->select('users.*', 'contacts.phone', 'orders.price') ->get();Where-Abfragebedingungen
Einfache Where-Bedingungen#
DB::table('users') ->leftJoin('posts', 'users.id', '=', 'posts.user_id') ->get();Verwenden Sie die Where-Methode, um Where-Bedingungen zur Abfrage hinzuzufügen. Diese Funktion erfordert im Allgemeinen drei Parameter: Spaltenname, Operator (beliebig). Alle von der Datenbank unterstützten Operatoren können verwendet werden), Spaltenwerte.
Das obige ist der detaillierte Inhalt vonLaravel Learning – Beispielcode-Sharing für Datenbankoperationen und Abfragekonstruktoren. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!