Подтвердить что ты не робот

Laravel Eloquent Filter By Column of Relationship

Используя 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();

Но я хочу, чтобы для фильтрации категорий, не фильтрующих категорию.

Может ли кто-нибудь показать мне путь?

4b9b3361

Ответ 1

Я не могу получить доступ к моей коробке с бродягой прямо сейчас, но я считаю, что это должно работать:

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

})->get();