【发布时间】:2017-11-06 14:32:22
【问题描述】:
我有 2 个模型 - 用户和角色用户。每个用户都被分配了一个角色。所以我通过在 User 模型上声明一个“角色”方法来定义一对一的关系。
public function role(){
return $this->hasOne('Vanguard\RoleUser', 'user_id');
}
这是我的榜样
class RoleUser extends Model
{
//
public $table = 'role_user';
protected $fillable = ['user_id', 'role_id'];
}
在控制器中,我试图获取 role_id = 2 的用户,但查询不断返回所有用户(即 3 个)而不是一个用户。 这是我的控制器
$users = User::with(['role' => function ($query) {
$query->where('role_id', 2);
}])->get();
请问这是什么原因造成的?
【问题讨论】:
-
什么版本的 Laravel?