我有一个用户表,它有一个userRole,而userRole属于Role。因此,我也想获取userRole和Role。
用户模型中的代码:
public function userRole()
{
return $this->hasOne(UserRole::class);
}
UserRole模型中的代码:
public function role()
{
return $this->belongsTo('App\Role');
}
控制器中的代码
User::with('userRole', function ($role) {
$role->with(['Role']);
})
->wherehas('userRole', function ($query) {
$query->where('role_id','1');
})->get();
这给我错误
“ mb_strpos()期望参数1为字符串”
答案 0 :(得分:1)
问题是,当您想向with()
方法中添加一个约束时,应该传递一个数组。
您的代码应类似于:
User::with([
'userRole' => function ($query) {
...
}
])
...