таблица продуктов: идентификатор, имя, цена
таблица атрибутов: идентификатор, имя, метка, тип {выбрать или текст}
таблица атрибутных_значений: идентификатор, идентификатор атрибута, имя, метка
Таблица attribute_product_attribute_value (сводная таблица): product_id, attribute_id, attribute_value_id, значение
мой код:
if ($category = CategoryProduct::getCategoryByValue('id', decode(\request()
->input('category')))) {
$query = $category->products()->where('price', '>=',
(int)\request()->input('min_price'))->where('price', '<='
, (int)\request()->input('max_price'))->whereHas('atts', function
($query) {
foreach (Input::get('att_filter') as $atts) {
foreach ($atts as $index => $value) {
$query->atts()->where('att_id', decode($index))
- >where('sub_att_id', decode($value));
}
}
})->get();