2014-11-04 9 views
2

다음과 같은 설정이 있다고 가정 해 봅시다. User에는 Coments이 많습니다. 내 REST API에서 모든 사용자와 해당 주석을 표시하는 작업이 있습니다. /usersLaravel Eloquent "With"필터

return Response::json(User::with('comments')->get(), 200); 

을하지만 지금은 단지 그것을 적어도 하나의 Comment이있는 경우 그 목록에서 User를 표시하려면 :

이 같은 그렇게 할 것입니다.

return Response::json(User::with('comments')->whereCount('users.comments', '>', 0)->get(), 200); 

하지만 분명히 작동하지 않습니다. with 메서드와 함께이 작업을 수행하는 올바른 방법은 무엇입니까?

답변

4

당신은 가지고 만 사용자를 얻을이 경우 has에서 사용할 수있는 적어도 하나의 코멘트 : 추가 할 경우

return Response::json(User::with('comments')->has('comments')->get(), 200); 

Reference

+2

는 또한 그 기준에서'whereHas()'기능을 통지 계산 이외의 복잡한 조건. – danhardman