@kirill-93

Условие для with в laravel?

Подскажите, как правильно задать условие.
Есть две сущности
#
class Journal {
    public function posts()
    {
        return $this->hasMany('App\Models\Post');
    }
}
class Post {
    public function journal()
    {
        return $this->belongsTo('App\Models\Journal');
    }
}


Могу ли я как-то отфильтровать посты по журналу в таком запросе:

$posts = Post::with('journal')->get();

Мне нужно добавить условие для журнала, и чтобы выбрались только посты этих журналов.
Нужно именно в таком виде, вот так не подходит:
Journal::with('posts')->where('name', 'someValue');

В общем нужно выбрать посты их определенных журналов и отсортировать их.
  • Вопрос задан
  • 266 просмотров
Решения вопроса 1
freevital
@freevital
Full-Stack Web Developer
$posts = Post::with('journal')->whereHas('journal', function ($query) {
    // some query
}])->get();
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы