Отношения в Laravel

Получаю пост у юзера где day = 1, но в результате возвращает только сам пост,как мне еще сразу вывести самого юзера ? у которого этот пост ?

$user = User::find($id)->post()->where('day',1)->get();

Ответы (2 шт):

Автор решения: Xaku

Запрос в базу

$user = User::with(['post' => function ($query) {
            $query->where('day', 1);
        }])->whereHas('post', function ($query) {
            $query->where('day', 1);
        })->find($id);

Вывод ид пользователя

$user->id

Вывод ил поста

$user->post->id
→ Ссылка
Автор решения: Ильяс Абушаев

можно использовать with https://laravel.com/docs/7.x/eloquent-relationships#constraining-eager-loads

$user = User::find($id)->with(['post'=>function($query) {
      $query->where('day',1);
}])->get();
→ Ссылка