连接三个表的雄辩方法
问题:
考虑三个表: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中文网其他相关文章!