我知道如何获取所有带有特定标签的帖子。但是当我想做相反的事情时是行不通的。我收到所有带有这样标签的帖子Laravel:Post::whereHas('tags', function ($q) { return $q->where('name', 'Laravel'); })->orderBy('created_at', 'desc')->take(12)->get();现在我想获取所有没有标签Laravel的帖子。如果我这样做Post::whereHas('tags', function ($q) { return $q->where('name', '!=','Laravel'); })->orderBy('created_at', 'desc')->take(12)->get();它正在返回所有帖子。它没有按预期工作。那么,如何获取所有没有标签的帖子Laravel。
1 回答
子衿沉夜
TA贡献1828条经验 获得超3个赞
您可以使用whereDoesntHave
$posts = Post::whereDoesntHave('tags', function ($query) {
$query->where('name', 'Laravel');
})->orderBy('created_at', 'desc')->take(12)->get();
有了这个,你只会得到那个tags没有名字的帖子Laravel。
- 1 回答
- 0 关注
- 95 浏览
添加回答
举报
0/150
提交
取消