Допустим, у меня есть следующие настройки. User
имеет много Coments
, В моем REST API у меня есть действие /users
где я показываю всех пользователей и их комментарии.
Я бы сделал это так:
return Response::json(User::with('comments')->get(), 200);
Но теперь я хочу показать только User
в этом списке, если у него есть хотя бы один Comment
, Что-то в строках:
return Response::json(User::with('comments')->whereCount('users.comments', '>', 0)->get(), 200);
Но это, очевидно, не работает. Как правильно сделать это в сочетании с with
метод?
Вы можете использовать в этом случае has
получить только пользователей, у которых есть хотя бы один комментарий:
return Response::json(User::with('comments')->has('comments')->get(), 200);
Других решений пока нет …