使用 Eloquent ORM,我设置了如下的模型:Post
belongsToMany
Category
Post.php
public function categories()
{
return $this->belongsToMany('Category', 'posts_categories');
}
我希望按照文章分类关系中的某一列进行筛选。
因此,我想要做类似这样的操作:
$posts->where('categories.slug', '=', Input::get('category_slug'));
这并不起作用。
我还尝试了:
$with['categories'] = function($query){
$query->where('slug', '=', Input::get('category_slug'));
};
$posts::with($with)->get();
但是我认为那是用于过滤分类而不是按分类过滤。
有人可以指点一下吗?
whereHas
过滤掉了非关联结果。有没有办法不过滤空关联结果? - Dr. House