Inhaltsverzeichnis
-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.
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
Heim Backend-Entwicklung PHP-Tutorial Laravel Learning – Beispielcode-Sharing für Datenbankoperationen und Abfragekonstruktoren

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

Mar 21, 2017 am 09:25 AM


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!

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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Wie bekomme ich den Rückgabecode, wenn das Senden von E -Mails in Laravel fehlschlägt? Wie bekomme ich den Rückgabecode, wenn das Senden von E -Mails in Laravel fehlschlägt? Apr 01, 2025 pm 02:45 PM

Methode zum Abholen des Rücksendecode, wenn das Senden von Laravel -E -Mails fehlschlägt. Wenn Sie Laravel zur Entwicklung von Anwendungen verwenden, stellen Sie häufig Situationen auf, in denen Sie Überprüfungscodes senden müssen. Und in Wirklichkeit ...

Laravel -Zeitplanaufgabe wird nicht ausgeführt: Was soll ich tun, wenn die Aufgabe nicht nach Zeitplan ausgeführt wird: Befehl ausführen? Laravel -Zeitplanaufgabe wird nicht ausgeführt: Was soll ich tun, wenn die Aufgabe nicht nach Zeitplan ausgeführt wird: Befehl ausführen? Mar 31, 2025 pm 11:24 PM

Laravel -Zeitplan -Aufgabe Ausführen nicht reagierende Fehlerbehebung Bei Verwendung der Zeitplanung von Laravel -Zeitplänen werden viele Entwickler auf dieses Problem stoßen: Zeitplan: Run ...

Wie kann man in Laravel mit der Situation umgehen, in der Überprüfungscodes nicht per E -Mail gesendet werden? Wie kann man in Laravel mit der Situation umgehen, in der Überprüfungscodes nicht per E -Mail gesendet werden? Mar 31, 2025 pm 11:48 PM

Die Methode zum Umgang mit Laravels E -Mail -Versagen zum Senden von Verifizierungscode besteht darin, Laravel zu verwenden ...

So implementieren Sie die benutzerdefinierte Tabellenfunktion des Klickens, um Daten im DCAT -Administrator hinzuzufügen? So implementieren Sie die benutzerdefinierte Tabellenfunktion des Klickens, um Daten im DCAT -Administrator hinzuzufügen? Apr 01, 2025 am 07:09 AM

So implementieren Sie die Tabellenfunktion von benutzerdefiniertem Klicken, um Daten in dcatadmin (laravel-admin) hinzuzufügen, wenn Sie DCAT verwenden ...

Laravel – Dump-Server Laravel – Dump-Server Aug 27, 2024 am 10:51 AM

Laravel – Dump-Server – Der Laravel-Dump-Server wird mit der Version von Laravel 5.7 geliefert. Die Vorgängerversionen enthalten keinen Dump-Server. Der Dump-Server wird eine Entwicklungsabhängigkeit in der Laravel-/Laravel-Composer-Datei sein.

Laravel Redis -Verbindungsfreigabe: Warum wirkt sich die Auswahlmethode auf andere Verbindungen aus? Laravel Redis -Verbindungsfreigabe: Warum wirkt sich die Auswahlmethode auf andere Verbindungen aus? Apr 01, 2025 am 07:45 AM

Die Auswirkungen des Austauschs von Redis -Verbindungen im Laravel -Framework und der Auswahl von Methoden bei Verwendung von Laravel -Framework und Redis können Entwickler auf ein Problem stoßen: Durch Konfiguration ...

Laravel Multi-Tenant-Erweiterungsstanz/Mietverhältnis: Wie passen Sie die Host-Adresse einer Mieterdatenbankverbindung an? Laravel Multi-Tenant-Erweiterungsstanz/Mietverhältnis: Wie passen Sie die Host-Adresse einer Mieterdatenbankverbindung an? Apr 01, 2025 am 09:09 AM

Benutzerdefinierte Mieterdatenbankverbindung in Laravel Multi-Tenant-Erweiterungspaket Stanz/Mietverhältnis beim Erstellen von Multi-Mandanten-Anwendungen mit Laravel Multi-Tenant-Erweiterungspaket Stanz/Mietverhältnis, ...

Laravel – Aktions-URL Laravel – Aktions-URL Aug 27, 2024 am 10:51 AM

Laravel – Aktions-URL – Laravel 5.7 führt eine neue Funktion namens „Aufrufbare Aktions-URL“ ein. Diese Funktion ähnelt der in Laravel 5.6, die String-in-Action-Methoden akzeptiert. Der Hauptzweck der neuen Syntax, die Laravel 5.7 eingeführt hat, besteht darin, direktl

See all articles