我有 4 张桌子。锦标赛、用户、角色和 users_roles。
一名用户作为裁判属于冠军。但我必须只选择具有“法官”角色的用户。
为此,我在冠军表中创建了名为“main_judge”的新列并创建了新关系
class Championship extends Model
{
...
public function mainJudge()
{
return $this->hasOne('App\User', 'id', 'main_judge');
}
...
}
然后我添加查询一些代码
$query->join('users_roles', 'users.id', '=', 'users_roles.user_id')
->join('roles', 'users_roles.role_id', '=', 'roles.id')
->where('roles.alias', '=', 'judge');
当我以 sql 形式打印查询时(见屏幕)
在 $query->get() 而不是用户 ID 之后,我得到了一个角色 ID(见屏幕)