у меня 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, я получил (см. Экран)
http://joxi.ru/a2X45M1Sw0RpE2
и после $ query-> get () вместо идентификатора пользователя я получил идентификатор роли (см. Экран)
http://joxi.ru/bmoxMaDs3NVoE2