我需要您的帮助才能找到创建此查询的解决方案。想象一下,我有2个表:帖子和类别,以及数据透视表:category_post。
帖子:id,title,...
类别:id,category_name,...
category_post:post_id,category_id
现在,我要检索我想要的类别:
$categories = Category::whereIn('id', $array)->lists('id');
在此查询之后,我有一个类别ID列表,我想只检索属于这些类别的帖子。不仅是属于一个类别的帖子,还有属于所有这些类别的帖子。
我希望我能很好地解释自己。 此致
答案 0 :(得分:3)
您可以为枢轴类注册belongTo
关系。 (提供category_id
和post_id
是外键。)
class CategoryPost extends Eloquent {
protected $table = 'category_post';
public function posts() {
return $this->belongsTo('posts');
}
public function categories() {
return $this->belongsTo('categories');
}
}
现在,您可以致电
CategoryPost::with('posts')->whereIn('category_id', $categories)->groupBy('post_id')->get();