Heim > PHP-Framework > Laravel > So verwenden Sie die Datenbankklasse Laravel

So verwenden Sie die Datenbankklasse Laravel

王林
Freigeben: 2023-05-26 14:11:37
Original
1033 Leute haben es durchsucht

Laravel ist ein beliebtes PHP-Webframework, das von Entwicklern wegen seiner eleganten Syntax, der praktischen Entwicklung und der effizienten Leistung bevorzugt wird. Bei der Laravel-Entwicklung sind Datenbankoperationen besonders wichtig. Laravel stellt eine DB-Klasse zum Betreiben von Datenbanken bereit. In diesem Artikel wird die Verwendung der Laravel-DB-Klasse ausführlich vorgestellt.

  1. Grundlegende Verwendung der DB-Klasse

In der Laravel-Entwicklung können wir Datenbankoperationen problemlos über die DB-Klasse ausführen. Bevor Sie die DB-Klasse verwenden, müssen Sie den Namespace in den Controller einführen:

use IlluminateSupportFacadesDB;
Nach dem Login kopieren

Über die DB-Klasse können wir Vorgänge wie Abfragen, Einfügen, Aktualisieren, Löschen usw. ausführen. Das Folgende ist ein Beispiel für eine Datenbankabfrage:

$users = DB::table('users')->get();
Nach dem Login kopieren

Das obige Beispiel besteht darin, die Datensätze aller Benutzer aus der Benutzertabelle abzurufen. Wenn Sie einen einzelnen Datensatz erhalten möchten, können Sie den folgenden Code verwenden:

$user = DB::table('users')->where('name', 'John')->first();
Nach dem Login kopieren

Der obige Code ruft den ersten Datensatz mit dem Namen John aus der Benutzertabelle ab.

  1. Abfragekonstruktor der DB-Klasse

Der Schlüssel zur DB-Klasse ist der Abfragekonstruktor. Der Abfrage-Builder kann Abfragen über Kettenmethoden erstellen, was sehr flexibel und praktisch ist. Im Folgenden finden Sie einige Beispiele:

a where-Bedingungsabfrage

$users = DB::table('users')->where('name', '=', 'John')->get();
Nach dem Login kopieren

Das obige Beispiel fragt die Datensätze aus der Benutzertabelle ab, deren Name gleich „John“ ist. Der Bedingungstyp kann über den zweiten Parameter angegeben werden, z. B. „>“, „<“, „>=“, „<=“ usw.

b. orWhere-Bedingungsabfrage

$users = DB::table('users')->where('name', '=', 'John')->orWhere('name', '=', 'Mary')->get();
Nach dem Login kopieren

Das obige Beispiel besteht darin, die Datensätze abzufragen, deren Name gleich „John“ oder „Name“ gleich „Mary“ ist Benutzertabelle.

c. Abfrage mehrerer Where-Bedingungen

$users = DB::table('users')->where([
    ['status', '=', '1'],
    ['name', '<>', 'John']
])->get();
Nach dem Login kopieren

Das obige Beispiel besteht darin, die Datensätze mit dem Status 1 und dem Namen ungleich John aus der Benutzertabelle abzufragen.

d. whereBetween bedingte Abfrage

$users = DB::table('users')->whereBetween('votes', [1, 100])->get();
Nach dem Login kopieren

Das obige Beispiel dient der Abfrage der Stimmendatensätze zwischen 1 und 100 aus der Benutzertabelle.

e. whereIn bedingte Abfrage

$users = DB::table('users')->whereIn('id', [1, 2, 3])->get();
Nach dem Login kopieren

Das obige Beispiel besteht darin, die Datensätze mit den IDs 1, 2 und 3 aus der Benutzertabelle abzufragen.

f. orderBy sort query

$users = DB::table('users')->orderBy('name', 'desc')->get();
Nach dem Login kopieren

Das obige Beispiel besteht darin, die Datensätze in der Benutzertabelle in umgekehrter Reihenfolge nach Namen abzufragen.

  1. Einfüge-, Aktualisierungs- und Löschoperationen der DB-Klasse

Die Laravel-DB-Klasse unterstützt nicht nur Abfrageoperationen, sondern auch Einfügungs-, Aktualisierungs-, und Löschvorgänge. Im Folgenden finden Sie einige Beispiele:

a. Dateneinfügung

DB::table('users')->insert([
    'email' => 'john@example.com',
    'name' => 'John Doe'
]);
Nach dem Login kopieren

Das obige Beispiel fügt einen Datensatz mit der E-Mail-Adresse john@example.com und dem Namen John Doe in die Benutzertabelle ein.

b. Datenaktualisierung

DB::table('users')->where('id', 1)->update(['votes' => 1]);
Nach dem Login kopieren

Das obige Beispiel aktualisiert die Stimmenzahl des Benutzers mit der ID 1 auf 1.

c. Datenlöschung

DB::table('users')->where('votes', '<', 100)->delete();
Nach dem Login kopieren

Das obige Beispiel löscht alle Benutzer mit weniger als 100 Stimmen.

  1. Transaktionsoperation der DB-Klasse

Während des Datenoperationsprozesses ist es wahrscheinlich, dass Unfälle auftreten, z. B. Fehler beim Einfügen von Daten. Zu diesem Zeitpunkt muss die Transaktion zurückgesetzt werden, um die Datenintegrität sicherzustellen. Laravel-DB-Klassen unterstützen Transaktionsoperationen. Hier ist ein Beispiel:

DB::transaction(function () {
    DB::table('users')->update(['votes' => 1]);
    DB::table('posts')->delete();
});
Nach dem Login kopieren

Das obige Beispiel ist eine einfache Transaktion, die die Stimmenzahl aller Benutzer in der Benutzertabelle auf 1 aktualisiert und alle Datensätze in der Beitragstabelle löscht. Wenn während einer Transaktion ein Fehler auftritt, wird dieser automatisch zurückgesetzt und die Datenintegrität bleibt gewahrt.

  1. Verbindung und Tabellenname der DB-Klasse

In den meisten Fällen stellt die Laravel-DB-Klasse automatisch eine Verbindung zur Standarddatenbank und -tabelle her, aber In In einigen Fällen müssen wir die Verbindung und den Tabellennamen manuell angeben. Das Folgende ist ein Beispiel:

$users = DB::connection('connection-1')->table('users')->get();
Nach dem Login kopieren

Das obige Beispiel zeigt alle Daten in der Benutzertabelle in der ersten Verbindung an. Wir können mehrere Verbindungsinformationen in der Datei config/database.php konfigurieren.

  1. Fazit

Durch die Laravel DB-Klasse können wir problemlos Datenbankoperationen durchführen. Von einfachen Datenabfragen bis hin zu komplexen Transaktionsoperationen bieten Laravel-DB-Klassen entsprechende Methoden und Syntax. In der tatsächlichen Entwicklung können wir nach Bedarf Abfrage-Builder, Transaktionen und Verbindungen in Kombination verwenden, um flexible und effiziente Datenoperationen zu erreichen.

Das obige ist der detaillierte Inhalt vonSo verwenden Sie die Datenbankklasse Laravel. 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