У меня есть отношения "многие ко многим" с моделями "Конкуренция и сезон" с сводной таблицей с именем contest_season.
Season-> belongsToMany → Competitions-> hasMany → Teams-> hasMany-> Игроки
Я хочу запросить данные всех игроков в команде в конкретный сезон.
что-то вроде
\App\Player::with('team.competition.season')->where('team.competition.season.id', 2);
Однако, так как сезон - это сборник (в соревновании много сезонов), в данный момент я никогда не могу запросить его так.
Может ли кто-нибудь указать мне в правильном направлении, чтобы правильно выбрать всех игроков в команде в конкретный сезон?
Во-первых, вам нужно добавить отношение hasManyTrough на вашей модели (подробнее о: has-many-through). Тогда вам нужно всего лишь "whereHas",
$players = \App\Player::with('season')->whereHas('season', function($q){
$q->where('season.id', '=', 2);
})->get();
->get()
до конца