Eloquenter Ansatz zum Zusammenfügen von drei Tabellen
Problem:
Betrachten Sie drei Tabellen: Artikel, Kategorien und Benutzer. Das Ziel besteht darin, Artikel mit ihrem Kategorienamen und Benutzernamen anstelle ihrer jeweiligen IDs abzurufen.
Lösung:
Eloquent bietet eine unkomplizierte Methode zum Abrufen relationaler Daten.
Modelldefinition:
// Article.php namespace App\Models; use Eloquent; class Article extends Eloquent { protected $table = 'articles'; public function user() { return $this->belongsTo('App\Models\User'); } public function category() { return $this->belongsTo('App\Models\Category'); } } // Category.php namespace App\Models; use Eloquent; class Category extends Eloquent { protected $table = "categories"; public function articles() { return $this->hasMany('App\Models\Article'); } } // User.php namespace App\Models; use Eloquent; class User extends Eloquent { protected $table = 'users'; public function articles() { return $this->hasMany('App\Models\Article'); } }
Eloquente Abfrage:
So rufen Sie Artikel mit Kategorie- und Benutzerinformationen ab:
$article = \App\Models\Article::with(['user','category'])->first();
Verwendung:
Um auf die zugehörigen Daten zuzugreifen:
$article->user->user_name //Retrieve user name $article->category->category_name //Retrieve Category name
Andere Beispiele:
$categories = \App\Models\Category::with('articles')->get();
$users = \App\Models\Category::with('users')->get();
Zusätzliche Ressourcen :
Das obige ist der detaillierte Inhalt vonWie rufe ich mit Eloquent Artikel mit Kategorie- und Benutzerinformationen ab?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!