Heim >Datenbank >MySQL-Tutorial >Wie verbinde ich drei Tische in Laravel mit Eloquent?
Drei Tabellen mit Laravel Eloquent verbinden
Einführung
Beim Arbeiten mit relationalen Datenbanken das Beitreten Tabellen sind häufig erforderlich, um Daten über mehrere Tabellen hinweg abzurufen. Dieser Artikel zeigt, wie Sie drei Tabellen in Laravel mithilfe des Eloquent ORM verknüpfen und bietet eine Alternative zu nativen SQL-Verknüpfungen.
Datenbankschema
Beachten Sie das folgende Datenbankschema:
Abfragen mit Eloquent
Beziehungsaufbau
Stellen Sie zunächst die Beziehungen zwischen den Modellen her:
// Article.php class Article extends Eloquent { public function user() { return $this->belongsTo('App\Models\User'); } public function category() { return $this->belongsTo('App\Models\Category'); } } // Category.php class Category extends Eloquent { public function articles() { return $this->hasMany('App\Models\Article'); } } // User.php class User extends Eloquent { public function articles() { return $this->hasMany('App\Models\Article'); } }
Abfrage verbinden
Um die drei Tabellen zu verbinden und Artikel mit ihrer Kategorie und Benutzerdetails abzurufen, verwenden Sie die Methode with():
$articles = \App\Models\Article::with(['user', 'category'])->get();
Zugreifen auf verwandte Daten
Sobald die Ergebnisse abgerufen wurden, können Sie auf die zugehörigen Daten als Eigenschaften zugreifen:
foreach ($articles as $article) { echo $article->title . ' - '; echo $article->user->user_name . ' - '; echo $article->category->category_name; }
Schlussfolgerung
Verwenden Eloquent zum Verknüpfen von Tabellen vereinfacht und beschleunigt den Datenabruf in Laravel. Indem Sie Beziehungen zwischen Modellen herstellen, können Sie problemlos auf verwandte Daten zugreifen und diese bearbeiten.
Das obige ist der detaillierte Inhalt vonWie verbinde ich drei Tische in Laravel mit Eloquent?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!