让我解释一下情况。
我有桌子:
competitions
id title body
然后
books
id name user_id
然后我有一个数据透视表来存储participants
如此
participants
id competition_id user_id
现在我已经为这些模型设置了一些关系。
Competition
模型
public function participants()
{
return $this->belongsToMany('App\User');
}
User
模型
public function participatedCompetitions()
{
return $this->belongsToMany('App\Competition');
}
现在,我正在获取一个竞赛,在同一查询中,我需要获取该竞赛参与者的书籍清单。 所以我怎么能做到这一点。 谢谢。
答案 0 :(得分:0)
这是您获取所有书籍的方式:
$userIds = $competition->participant()->get()->pluck('id');
// $userIds is your collection of User Ids that is participant in that compititions.
$books = Book::whereIn('user_id',$userIds)->get();