Есть модель Product и Tags. Cвязал их через belongsToMany.
Как отфильтровать Продукты по всем указанным Тегам у каждого из них? т.е например чтобы у каждого товара были теги 44,34,21,54 ( не хотя один из них, а все)
$tags_pages=[44,34,21,54]; // Это лишь пример массива. Элементы и количество массива меняется.
$Product = Product::whereHas('tags', function($query) use($tags_pages)
{
$query->whereIn('id',$tags_pages);
})->get();
Так фильтруются продукты, если у них есть хотябы один указанный тег. А нужно что бы все указанные теги были у каждого продукта.
Пробовал так, но ничего на выходе 0 продуктов:
$tags_pages=[44,34,21,54]; // Это лишь пример массива. Элементы и количество массива меняется.
$Product = Product::whereHas('tags', function($query) use($tags_pages)
{
foreach($tags_pages as $tag){
$query->whereIn('id', $tags_pages);
}
})->get();