Laravel Learning – Beispielcode-Sharing für Datenbankoperationen und Abfragekonstruktoren

黄舟
Freigeben: 2023-03-06 19:36:02
Original
1484 Leute haben es durchsucht


Kü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
Datenbank: mysql 5.7
PHP7.1 Eine besteht darin, die statische Methode des

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
-Magie. Die Methode delegiert den Zugriff auf die Mitgliedsmethode

AbfragevorgangVerwenden Sie die SQL-Anweisung, um den Auswahlabfragevorgang #

Das Ergebnis ist ein Array, und für ein

-Objekt wird die Verwendung dieser Methode empfohlen, die klarer ist DBcallStaticAlle Datenspalten aus der Datentabelle abrufen#

Eine einzelne Zeile/Spalte aus der Tabelle abfragen

Verwenden Sie die erste Methode, um eine einzelne Datenzeile zurückzugeben , das ein stdClass-Objekt zurückgibt
$results = DB::select('select * from users where id = ?', [1]);foreach ($results as $res) {    echo $res->name;
}
Nach dem Login kopieren

StdClassWenn 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]);
Nach dem Login kopieren
Suchen Die Datenspalte in Blöcken aus der Datentabelle

Diese 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);
}
Nach dem Login kopieren
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;
Nach dem Login kopieren
Feldwerte

< abfragen in der Zeichentabelle. 🎜>

Die
$email = DB::table(&#39;users&#39;)->where(&#39;name&#39;, &#39;John&#39;)->value(&#39;email&#39;);
Nach dem Login kopieren
-Funktion hat hier zwei Parameter

Der erste Parameter ist die abzufragende Spalte und der zweite Parameter ist der Schlüssel jeder Spalte

DB::table(&#39;users&#39;)->chunk(100, function($users){
    foreach ($users as $user)
    {        //
    }
});
Nach dem Login kopieren

Aggregationsfunktionenfalse

Der Abfragekonstruktor stellt auch einige Aggregatfunktionen wie

usw. bereit.

titleAusgewählte Abfragebedingungen angeben

$titles = DB::table(&#39;roles&#39;)->pluck(&#39;title&#39;);foreach ($titles as $title) {    echo $title;
}
Nach dem Login kopieren
Fragen Sie die angegebenen Spalten ab#

pluck

Wenn Sie „select“ angegeben haben, aber einige Felder erneut hinzufügen möchten, verwenden Sie die addSelect-Methode
Collection pluck( string $column, string|null $key = null)
Nach dem Login kopieren

Abfrage für verschiedene Ergebnisse eindeutig#
$roles = DB::table(&#39;roles&#39;)->pluck(&#39;title&#39;, &#39;name&#39;);foreach ($roles as $name => $title) {    echo $title;
}
Nach dem Login kopieren

Verwenden Sie den nativen

-Ausdruck count,max,min,avg,sum#

$users = DB::table(&#39;users&#39;)->count();
$price = DB::table(&#39;orders&#39;)->max(&#39;price&#39;);
$price = DB::table(&#39;orders&#39;)->where(&#39;finalized&#39;, 1)->avg(&#39;price&#39;);
Nach dem Login kopieren
Mit der

-Methode können Sie das erforderliche SQL-Fragment in die Abfrage einfügen. Bei falscher Verwendung wird SQL jedoch nicht empfohlen Es kann zu einer Injektion kommen.

Join-Operation
$users = DB::table(&#39;users&#39;)->select(&#39;name&#39;, &#39;email as user_email&#39;)->get();
Nach dem Login kopieren

Inner Join#

$query = DB::table(&#39;users&#39;)->select(&#39;name&#39;);$users = $query->addSelect(&#39;age&#39;)->get();
Nach dem Login kopieren
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(&#39;users&#39;)->distinct()->get();
Nach dem Login kopieren

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

Union-Operation
$users = DB::table(&#39;users&#39;)
      ->select(DB::raw(&#39;count(*) as user_count, status&#39;))
      ->where(&#39;status&#39;, &#39;<>&#39;, 1)
      ->groupBy(&#39;status&#39;)
      ->get();
Nach dem Login kopieren

Um die Union-Operation zu verwenden, können Sie zunächst eine erstellen Abfrage und verwenden Sie dann die Union-Methode, um die zweite Abfrage zu binden

Ähnlich

Die Methode kann auch mit denselben Parametern wie Union verwendet werden.

$users = DB::table(&#39;users&#39;)
  ->join(&#39;contacts&#39;, &#39;users.id&#39;, &#39;=&#39;, &#39;contacts.user_id&#39;)
  ->join(&#39;orders&#39;, &#39;users.id&#39;, &#39;=&#39;, &#39;orders.user_id&#39;)
  ->select(&#39;users.*&#39;, &#39;contacts.phone&#39;, &#39;orders.price&#39;)
  ->get();
Nach dem Login kopieren
Where-Abfragebedingungen


Einfache Where-Bedingungen#

DB::table(&#39;users&#39;)
  ->leftJoin(&#39;posts&#39;, &#39;users.id&#39;, &#39;=&#39;, &#39;posts.user_id&#39;)
  ->get();
Nach dem Login kopieren
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!

Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!