我有一个用户表,它有一个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为字符串”

最佳答案

问题是,要向with()方法中添加要素时,应传递一个数组。

您的代码应类似于:

User::with([
    'userRole' => function ($query) {
        ...
    }
])
...

关于php - 如何在laravel中将已连接的表与其他表连接?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54840919/

10-11 07:17