Heim >PHP-Framework >Laravel >Detaillierte Erläuterung des Implementierungsprinzips von ORM in Laravel
Laravel ist ein weit verbreitetes und anerkanntes PHP-Framework. Es bietet viele nützliche Funktionen, vom Datenbankzugriff bis hin zu Routing und Controllern. Unter anderem ist ORM (Object-Relational Mapping) eine wichtige Komponente in Laravel. Es bietet eine bequeme Möglichkeit, die Datenbank zu bedienen und Ihren Code klarer und verständlicher zu machen. In diesem Artikel werfen wir einen detaillierten Blick auf die Implementierungsprinzipien von Laravel ORM.
Was ist ORM?
Lassen Sie uns zunächst ORM kurz vorstellen. ORM ist eine Technologie, die eine Zuordnung zwischen objektorientierter Programmierung (OOP) und relationalen Datenbanken herstellt. Im ORM entspricht jede Tabelle einer Klasse und jede Zeile einem Objekt. Auf diese Weise können Datenbankoperationen durch Objekte vereinfacht werden, wodurch der Code klarer und verständlicher wird. Der Vorteil von ORM besteht darin, dass Sie auf natürlichere Weise auf die Datenbank zugreifen können, anstatt SQL-Anweisungen zu verwenden. Daher ist ORM in Laravel sehr wichtig. Es ermöglicht uns, PHP mit der Datenbank interagieren zu lassen und so Code schneller und zuverlässiger zu schreiben.
Laravel ORM-Implementierungsprinzip
Die ORM-Implementierung von Laravel basiert auf dem Active Record-Entwurfsmuster. In Active Record entspricht eine Klasse einer Tabelle und eine Instanz dieser Klasse entspricht einer Zeile. Laravel verwendet Eloquent ORM als Standard-ORM, ein leistungsstarkes und benutzerfreundliches ORM. Mit Eloquent können Sie die Arbeit mit Datenbanken durch die Manipulation von Objekten vereinfachen.
Im Folgenden erhalten wir ein detailliertes Verständnis des Implementierungsprinzips von Laravel ORM:
Mit der Datenbank verbinden
Bevor wir das ORM verwenden, müssen wir zuerst eine Verbindung zur Datenbank herstellen. In Laravel wird die PDO-Erweiterungsbibliothek verwendet, um eine Verbindung zu relationalen Datenbanken herzustellen. Bevor wir Laravel ORM verwenden, müssen wir zunächst anhand dieser Einstellung definieren, welche Datenbank verwendet werden soll.
Definieren Sie das Modell
In Laravel entspricht jede Datenbanktabelle einem Eloquent-Modell. Dieses Modell ist eine gewöhnliche PHP-Klasse, die von der IlluminateDatabaseEloquentModel-Klasse erben muss. Im Eloquent-Modell können wir den Namen der Datentabelle, den Primärschlüssel und ausfüllbare Felder definieren, die einem Modell entsprechen. Diese Einstellungen übernehmen automatisch die Vorgänge der Datentabelle und der entsprechenden Datensätze über Eloquent.
Um beispielsweise ein Benutzermodell in Laravel zu definieren, können wir schreiben:
namespace App\Models; use Illuminate\Database\Eloquent\Model; class User extends Model { protected $table = 'users'; protected $primaryKey = 'id'; protected $fillable = ['name', 'email', 'password']; }
Im obigen Code gibt das $table-Attribut den entsprechenden Datentabellennamen „users“ an und das $primaryKey-Attribut gibt den entsprechenden Datentabellennamen an Das Primärschlüsselfeld heißt „id“ und das Attribut „$fillable“ gibt die Felder an, die von Eloquent automatisch aktualisiert werden können.
Abfragemethode
Die grundlegendste Funktion von ORM besteht darin, die Datenbank abzufragen. In Laravel bietet Eloquent viele Abfragemethoden, mit denen wir Daten einfach abfragen, filtern und sortieren können.
Zum Beispiel können wir alle Benutzer in der Benutzertabelle auf folgende Weise abfragen:
$users = App\Models\User::all();
Diese Abfragemethode fragt die Datenbanktabelle „Benutzer“ über die Modellklasse „Benutzer“ ab und gibt ein Eloquent-Sammlungsobjekt zurück, das alle Benutzer enthält.
Wir können den Abfrage-Builder auch verwenden, um komplexere Abfrageanweisungen zu erstellen. Beispiel:
$users = App\Models\User::where('name', 'John')->orderBy('id', 'desc')->get();
Diese Abfrageanweisung fragt alle Benutzer mit dem Namen „John“ ab, sortiert sie in absteigender Reihenfolge nach dem ID-Feld und gibt ein Eloquent-Sammlungsobjekt zurück.
Daten einfügen
In Laravel ist es sehr praktisch, ORM zum Einfügen von Daten zu verwenden. Wir müssen lediglich eine neue Eloquent-Modellinstanz erstellen, die Werte der entsprechenden Felder festlegen und sie dann über die Methode save () in der Datenbank speichern.
Zum Beispiel können wir auf folgende Weise ein neues Datenelement in die Benutzertabelle einfügen:
$user = new App\Models\User; $user->name = 'John Doe'; $user->email = 'john@example.com'; $user->password = bcrypt('secret'); $user->save();
Dieser Einfügevorgang erstellt eine neue Benutzerinstanz und legt deren Attribute „Name“, „E-Mail“ und „Passwort“ fest . Speichern Sie es dann in der Datenbank.
Daten aktualisieren
In Laravel können wir Daten auch einfach über Eloquent aktualisieren. Wir müssen nur den zu aktualisierenden Datensatz finden, dann den Wert des entsprechenden Felds festlegen und schließlich die Methode save () aufrufen, um ihn in der Datenbank zu aktualisieren.
Zum Beispiel können wir einen Datensatz anhand des ID-Felds finden und dann sein „Name“-Feld auf „Jane“ aktualisieren:
$user = App\Models\User::find(1); $user->name = 'Jane'; $user->save();
Dieser Aktualisierungsvorgang findet den Benutzerdatensatz mit dem Primärschlüssel 1 und ändert seinen „Namen“. "Feld Aktualisieren Sie auf „Jane“ und aktualisieren Sie dann auf die Datenbank.
Daten löschen
Endlich können wir Datensätze auch bequem in Laravel löschen. Wir müssen nur den zu löschenden Datensatz finden und dann die Methode delete() aufrufen.
Zum Beispiel können wir einen Datensatz über das ID-Feld finden und ihn dann löschen:
$user = App\Models\User::find(1); $user->delete();
Dieser Löschvorgang findet den Benutzerdatensatz mit dem Primärschlüssel 1 und löscht ihn aus der Datenbank.
Zusammenfassung
ORM ist eine wichtige Komponente in Laravel. Es bietet eine bequeme Möglichkeit, die Datenbank zu bedienen und Ihren Code klarer und verständlicher zu machen. In diesem Artikel erhalten wir ein detailliertes Verständnis der Implementierungsprinzipien von Laravel ORM, einschließlich der Herstellung einer Verbindung zur Datenbank, der Definition von Modellen, der Abfrage von Daten, des Einfügens von Daten, des Aktualisierens von Daten und des Löschens von Daten. Durch die Beherrschung dieses Wissens können wir Laravel ORM besser zur Implementierung von Datenbankoperationen nutzen und so Code schneller und zuverlässiger schreiben.
Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung des Implementierungsprinzips von ORM in Laravel. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!