orm – Laravel雄辩筛选按关系列

使用雄辩的ORM我有我的模型设置如下:Post belongsToMany类别

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();

但是我想,这是为了过滤不按类别过滤的类别。

有人能告诉我吗?

最佳答案
我现在无法访问我的Vagrant框,但我相信这应该工作:

$posts = Post::whereHas('categories', function($q)
{
    $q->where('slug', '=', Input::get('category_slug'));

})->get();

转载注明原文:orm – Laravel雄辩筛选按关系列 - 代码日志