У меня есть фильтры на моем сайте.У меня есть функция в модели, которая ищет фильтры и получает продукты с необходимыми фильтрами.Это не будет работать правильно, если я выберу 2 фильтра одной категории.
public function attribute()
{
return $this->hasMany('App\Models\ProductAttribute');
}
public function scopeAttrSearch($query, $ids)
{
foreach ($ids as $id) {
$query->whereHas('attribute', function ($q) use ($id) {
$q->where('attribute_value_id', $id);
});
}
return $query;
}
Мне нужно передать whereIn
для поиска нескольких фильтров в одной категории.Но если категории не совпадают, мне нужно передать where
в запросе.Как я могу это сделать?
Категория столбца в табличных фильтрах: attribute_id
.
В переменной ids
Я отправляю фильтры значений идентификаторов.
Категории фильтров не работают должным образом.Если есть список флажков, когда выбранные товары фильтруются по критериям.но если я выбираю флажки из той же категории, фильтр не фильтруется как обычно, кажется, что условие "где" не работает должным образом