从所有记录中获取所有相关的多对多,而不是每个记录laravel

时间:2017-03-05 04:22:23

标签: php database laravel join eloquent

我通过poststags表与post_tags表相关联。我想从所有用户帖子中获取所有标签。让我们说一个用户有3个帖子,然后我想从其中3个帖子中获取所有标签而没有在用户帖子中循环获取每个帖子的个别相关标签,它就像加入+不同但可能有在Eloquent中使方法变得简单。谢谢,如果我的问题不清楚或重复,请告诉我。

1 个答案:

答案 0 :(得分:1)

使用whereHas()

$tags = Tag::whereHas('posts', function($q) use($userId) {
    $q->where('user_id', $userId);
})->get();