2017-03-05 55 views
1

我有poststags表通过post_tags表相关。我想要获取所有用户信息中的所有标签。假设一个用户有3个帖子,那么我想从他们中的3个获取所有标签,而不在用户帖子中循环,以获得每个帖子的个人相关标签,就像加入+独特但可能在Eloquent中有方法使其变得容易。谢谢,让我知道如果我的问题不清楚或重复。从所有记录中获取所有相关的多对多而不是每条记录laravel

回答

1

使用whereHas()

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

'user_id'没有发现,因为职位表从来没有在查询构建器调用,所以没有user_id列。 –

+0

@AnggaAriWijaya如果您在'posts'表中没有'user_id',这意味着您没有正确定义Eloquent关系。 –

+0

我有,但你的代码,它只是返回一个记录。 –

相关问题