我想让用户按类别进行过滤,因此我将category_id作为参数发送,并且应该使用此category_id选择在users_categories_restrictions表中没有&
如何制作这个雄辩的查询?
答案 0 :(得分:2)
您可以使用whereDoesntHave
$users = App\User::whereDoesntHave('categories', function ($query) use($cat_id) {
$query->where('categories.id', '=', $cat_id);
})->get();
我假设您已经定义了用户和类别模型之间的多对多关系
class User extends Model
{
public function categories()
{
return $this->belongsToMany(Category::class, 'users_categories_restrictions', 'user_id');
}
}
class Category extends Model
{
public function users()
{
return $this->belongsToMany(User::class, 'users_categories_restrictions', 'category_id');
}
}