запрашивая отношения многие-ко-многим

0

У меня есть отношения "многие ко многим" с моделями "Конкуренция и сезон" с сводной таблицей с именем contest_season.

Season-> belongsToMany → Competitions-> hasMany → Teams-> hasMany-> Игроки

Я хочу запросить данные всех игроков в команде в конкретный сезон.

что-то вроде

\App\Player::with('team.competition.season')->where('team.competition.season.id', 2);

Однако, так как сезон - это сборник (в соревновании много сезонов), в данный момент я никогда не могу запросить его так.

Может ли кто-нибудь указать мне в правильном направлении, чтобы правильно выбрать всех игроков в команде в конкретный сезон?

  • 0
    Я считаю, что вы должны добавить ->get() до конца
Теги:
laravel-5

1 ответ

0

Во-первых, вам нужно добавить отношение hasManyTrough на вашей модели (подробнее о: has-many-through). Тогда вам нужно всего лишь "whereHas",

$players = \App\Player::with('season')->whereHas('season', function($q){
     $q->where('season.id', '=', 2);
})->get();

Ещё вопросы

Сообщество Overcoder
Наверх
Меню