連接三個表的雄辯方法
問題:
考慮三個表: Articles,類別和用戶。目標是使用類別名稱和使用者名稱而不是各自的 ID 來檢索文章。
解決方案:
Eloquent 提供了一種簡單的方法來擷取關聯式資料。
型號定義:
// 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'); } }
雄辯查詢:
檢索帶有類別和用戶信息的文章:
$article = \App\Models\Article::with(['user','category'])->first();
用法:
訪問相關數據:
$article->user->user_name //Retrieve user name $article->category->category_name //Retrieve Category name
其他示例:
$categories = \App\Models\Category::with('articles')->get();
$users = \App\Models\Category::with('users')->get();
其他資源:
以上是如何使用 Eloquent 檢索帶有類別和使用者資訊的文章?的詳細內容。更多資訊請關注PHP中文網其他相關文章!