Поиск в отношениях Laravel

User::with('comments')
       ->whereHas('comments', function ($query){
          $query->where('id', '>', 10);})
       ->get();

Подскажите, нужно вернуть всех пользователей и показать их комментарии с id > 10, но в моем случае получаю всех юзеров с id > 10, как исправить ?


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

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

У вас неправильно составлен запрос.

Данный запрос вернет всех пользователей и комментарии к ним если у них id > 10.

User::with([
    'comments'=> function ($query) {
        $query->where('id', '>', 10);
    }
])->get();

А whereHas вернет только тех пользователей где у комментария id > 10.

→ Ссылка