我目前有这个可以查询关系:
$users = User::query();
$post_id = $request->input('post_id');
$users->whereHas('posts', function ($query) use ($post_id) {
$query->where('id', $post_id);
});
return $users->get();
但是在此查询的结果中,我还希望包括没有任何帖子与其关联的用户。结果就是:没有帖子的用户+有特定帖子的用户(上面的代码)。这可能吗?
答案 0 :(得分:1)
使用doesntHave()
:
$users->whereHas('posts', function ($query) use ($post_id) {
$query->where('id', $post_id);
})->orDoesntHave('posts');