@89109983838

Opencart2 Как получить фильртра товаров по категории и бренду?

Добрый день!

Подскажите пожалуйста как сформировать с ложный JSON запрос к базе данных opencart2 (mysql) чтобы получить
Все фильтра (стандартные) по категории и производителю.

В итоге должны иметь массив групп фильтров (с их значениями) по товарам в текущей категории отфильтрованных по производителю, для последующей обработки контролерам.
  • Вопрос задан
  • 94 просмотра
Пригласить эксперта
Ответы на вопрос 1
@89109983838 Автор вопроса
Сам разобрался!

Вернет группы фильтов по категории и бренду
$category_id = 1;
$manufacturer_id = 5; 
$query = $this->db->query("SELECT DISTINCT f.name, f.filter_group_id FROM ".DB_PREFIX."filter_group_description f
LEFT JOIN ".DB_PREFIX."filter l ON(f.filter_group_id = l.filter_group_id)
LEFT JOIN ".DB_PREFIX."product_filter t ON(l.filter_id = t.filter_id)
LEFT JOIN ".DB_PREFIX."product p ON(t.product_id = p.product_id)
LEFT JOIN ".DB_PREFIX."product_to_category c ON(p.product_id = c.product_id)
WHERE c.category_id = '".(int)$category_id."' AND p.manufacturer_id = '".(int)$manufacturer_id."'");

Вернет фильтра По категории, бренду и группе фильтров
$category_id = 1;
$manufacturer_id = 5; 
$filter_group_id;

$query2 = $this->db->query("SELECT DISTINCT l.filter_id, l.filter_group_id, l.name FROM ".DB_PREFIX."filter_description l
LEFT JOIN ".DB_PREFIX."product_filter t ON(l.filter_id = t.filter_id)
LEFT JOIN ".DB_PREFIX."product p ON(t.product_id = p.product_id)
LEFT JOIN ".DB_PREFIX."product_to_category c ON(p.product_id = c.product_id)
WHERE l.filter_group_id = '" . $filter_group_id ."' AND c.category_id = '".(int)$category_id."' AND p.manufacturer_id = '".(int)$manufacturer_id."'");


Но это так примеры, варианты их использовал в разных местах под конкретную задачу.
Если кто знает более оптимальный вариант укажите буду благодарен!
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы