@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."'");


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

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

Войти через центр авторизации
Похожие вопросы