我与模型竞赛和季节有多对多关系,并有一个名为competition_season的数据透视表。
来临吧> belongsToMany-> Competitions-> hasMany-> Teams-> hasMany->玩家
我想查询特定赛季球队中所有球员的数据。
类似
\App\Player::with('team.competition.season')->where('team.competition.season.id', 2);
然而,由于赛季是一个集合(比赛有很多赛季),此刻我永远无法像这样查询。
有人能指出我正确的方向,在特定赛季中正确选择球队中的所有球员吗?
答案 0 :(得分:0)
首先,您需要在模型中添加关系hasManyTrough(有关详细信息,请参阅:has-many-through) 然后,你需要的只是" whereHas"
$players = \App\Player::with('season')->whereHas('season', function($q){
$q->where('season.id', '=', 2);
})->get();