Уникальные значения свойств в фильтре

#
Уникальные значения свойств в фильтре
Здравствуйте, подскажите, можно ли как то сделать вывод уникальных значений свойств в фильтре товаров?
По аналогии, заходим в группу - там отображаются только те производители которые присутствуют в данной группе, тоже самое сделать со значениями свойств?
Например есть свойство "Тип патрона" - оно назначено дрелям и перфораторам, в группе дрелей отображается в фильтре только те значения которые есть у дрелей(быстрозажимной, ключевой), а у перфораторов sds+, sds и т.д.
Сейчас получается если заходим в группу перфораторы, то отображаются значения и для дрелей и для перфораторов.
#
Re: Уникальные значения свойств в фильтре
Т.е. у одного доп.свойства значения сразу для двух групп товаров?
Можно попробовать следующий алгоритм (я ниже пишу в виде SQL, но по-хорошему надо использовать ORM):
1) Ищем по таблице property_value_<type>s нужного типа все уникальные значения доп.свойства с данным property_id
SQL примерно такой:

SELECT value FROM `property_value_ints`
WHERE property_id = 149
GROUP BY value

2) Опять ищем по таблице property_value_<type>s нужного типа, но теперь все entity_id с value из уже полученного в п.1 набора уникальных значений
SQL примерно такой:

SELECT entity_id
FROM `property_value_ints`
WHERE property_id = 149
AND value IN (SELECT value FROM `property_value_ints` WHERE property_id =149 GROUP BY value);

3) Теперь можем отфильтровать товары:
Итоговый SQL примерно такой:

SELECT * FROM shop_items
  WHERE id IN (
    SELECT entity_id FROM `property_value_ints`
      WHERE property_id = 149
      AND value IN (
       SELECT value FROM `property_value_ints`
         WHERE property_id =149 GROUP BY value
      )
  )
ARTatom
#
Re: Уникальные значения свойств в фильтре
Shaman_RnD, вам нужно вот это http://www.hostcms.ru/forums/3/10891/
Заказов не беру. Консультирую редко.
Авторизация