我有一个用户表,它有一个userRole。我想添加一个条件来获取所有在userRole中具有“role\u id”1的用户。
用户模型中的关系:

public function userRole()
{
  return $this->hasOne(UserRole::class);
}

和控制器代码:
$users = User::with(["userRole" => function ($query){
                        $query->where('role_id', 1);
                    }])->get();

这不管用。它获取所有用户并获取userRole,以防其角色id为2,否则userRole为空。

最佳答案

这也许对你有帮助。请尝试在控制器中添加以下代码段

User::with(['userRole'])->wherehas('userRole', function ($query) {$query->where('role_id','1');})->get();

10-07 22:12