【发布时间】:2016-02-22 05:45:08
【问题描述】:
我有一个Player 模型,它有很多Teams,每个Teams 有很多Player(多对多)。
玩家FooBar是A队和B队的成员。
我想直接从我的Player 模型中检索 A 队和 B 队的所有(不同)球员。当然,每支球队都有很多球员,有些相似,有些不同。
我的播放器模型示例
class Player extends Model
{
teams(){
return $this->hasMany('Teams');
}
teammates(){
//Returns all the players from the teams where the player belongs
}
}
我想做什么
$player = Player::find($id);
//Gets all the players from every team the player is playing with
$teammates = $user->teammates();
【问题讨论】:
-
尝试添加
return $this->hasManyThrough('App\Teams', 'App\Player')->distinct()这应该检索用户所属所有球队的所有球员。但是,将distinct链接到 Eloquent 查询构建器的方法可能无法按预期工作。
标签: laravel laravel-5 many-to-many distinct