Привет, помогите добавить условие.
Есть пользователи, журналы и статьи. Журналы публикуют статьи, а пользователи их читают и могут добавить в избранное.
Модели:
#
class User {
public function posts()
{
return $this->belongsToMany('App\Models\Post')->withTimestamps();
}
}
class Journal {
public function posts()
{
return $this->hasMany('App\Models\Post');
}
}
class Post {
public function journal()
{
return $this->belongsTo('App\Models\Journal');
}
}
Пользователь добавляет посты в прочитанные через belongsToMany (таблица post_user).
Мне нужно получить все посты пользователя по условию и для каждого поста получить его журнал.
Если просто получать посты, то работает вот так:
#
auth()->user()->with(['posts' => function($query) {
$query->conditions();
}])
Но вот так уже не работает:
#
auth()->user()->with(['posts.entity' => function($query) {
$query->conditions();
}])
И не работает именно conditions (это мой скоуп с условиями для posts)
Потому что если без условий, то все ок:
#
auth()->user()->with('posts.entity')
Как мне получить посты с их журналами и применить условия к постам?