Отношения в 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();