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();
しかし、カテゴリ別にフィルタリングするのではなく、カテゴリをフィルタリングするためだと思います。
誰も私に道を教えてもらえますか?
Vagrantボックスに今すぐアクセスできませんが、これでうまくいくと思います。
$posts = Post::whereHas('categories', function($q)
{
$q->where('slug', '=', Input::get('category_slug'));
})->get();