我知道如何獲取所有帶有特定標簽的帖子。但是當我想做相反的事情時是行不通的。我收到所有帶有這樣標簽的帖子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 關注
- 114 瀏覽
添加回答
舉報
0/150
提交
取消