#laravel #relationship
#laravel #связь
Вопрос:
У меня есть 4 таблицы:
пользователи команды местоположения users_teams
моя таблица команд связана с местоположениями. (в нем есть поле location_id) пользователи и команды имеют отношения belongsToMany с users_teams. пользователи не имеют прямой связи с местоположениями.
Но мне нужно найти тренеров в этом месте. Это означает; «найдите мне всех тренеров; которые принадлежат командам этого местоположения»
Но не смог переместить ни одного, чтобы сделать это. Как это может быть возможно?
как мои «тренеры» функционируют в моей модели «Местоположения»?
Комментарии:
1. Не могли бы вы опубликовать какой-нибудь код?
Ответ №1:
Если ваши отношения настроены правильно, и предполагается, что у вас есть столбец enum с именем type
в coach
качестве возможного значения, вы должны быть в состоянии сделать что-то вроде этого:
$coaches = User::where('type', 'coach')
->whereHas('teams.locations', function($query)
{
$query->where('name', 'some place');
})->get();