Как сделать выборку where id = and id = из связанной таблицы в laravel?
Есть продукты и фильтры, они связаны через смежную таблицу продукты_фильтры.
Как получить продукты, где id фильтра = 1 и id фильтра = 2 ?
$products = Product::whereHas('attributeValue', function ($q){
$q->where('id', 3);
$q->where('id', 5);
})->get();
Пытался таким способом, но в ответ получаю пустую коллекцию.
Ответы (1 шт):
Автор решения: Akina
→ Ссылка
На чистом SQL это будет
SELECT product.id
FROM product
WHERE product.filter_id IN (3, 5)
GROUP BY product.id
HAVING COUNT(DISTINCT product.filter_id) = 2