2014-11-04 99 views
2

假設我有以下設置。 A User有許多Coments。在我的REST API中,我有一個動作/users,顯示所有用戶及其評論。Laravel雄辯「帶」過濾器

我是這樣做的:

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

但現在我只希望在列表中顯示一個User如果有至少一個Comment。東西在線:

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 2014-11-04 16:23:49