$q->whereDoesntHave('tags')->orWhereHas('tags', function($query) use ($excluded) {
$query->whereNotIn('tags.id', $excluded);
});
public function categories()
{
return $this->belongsToMany('App\Category', 'work_category', 'work_id', 'category_id');
}
$work = Work::find(1);
$work->categories()->attach(1); // где 1 - ID категории
$category = 'test'; // slug категории
Works::whereHas('categories', function($q) use($category){ // whereHas - выборка в связи
$q->where('slug', $category); // запрос к связующей таблице
})->get();
Возможно, проблема где-то на стороне сервера. Это не лучшее решение, но в некоторых случаях работает.