Using the Eloquent ORM I have my models set up like so: Post
belongsToMany
Category
Post.php
public function categories() { return $this->belongsToMany('Category', 'posts_categories'); }
I want to filter posts by a column of the categories relationship.
So I want to do something like:
$posts->where('categories.slug', '=', Input::get('category_slug'));
This doesn't work though.
I also tried:
$with['categories'] = function($query){ $query->where('slug', '=', Input::get('category_slug')); }; $posts::with($with)->get();
But I thnk that's for filtering the categories not filtering BY the category.
Can anyone show me the way?
I can't access my Vagrant box right now, but I believe this should work:
$posts = Post::whereHas('categories', function($q) { $q->where('slug', '=', Input::get('category_slug')); })->get();
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With