Laravel Eloquent "With" filter


Laravel Eloquent "With" filter

假设我有以下设置。一个CCD_ 1有许多CCD_。在我的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);

参考