Здравствуйте. Возникла необходимость создания фильтра элементов информационной системы по значениям нескольких дополнительных свойств одновременно. Ознакомление с подобными проблемами на форуме ни к чему не привело, ни в одной найденной мной ветке в конечном счете не описано решение. Мне удалось реализовать лишь фильтр, который выбирает элемент ИЛИ по значению одного свойства или по значению другого, необходимо же, чтобы в выборку попадали элементы, у которых оба значения определены. То, что работает:
$element['type'] = 1;
$element['property_id'] = 29;
$element['prefix'] = ' AND ('
$element['if'] = '=';
$element['value'] = '83';
$element['sufix'] = '';
$params['select'][] = $element;
$element['type'] = 1;
$element['property_id'] = 30;
$element['prefix'] = ' OR '
$element['if'] = '=';
$element['value'] = '86';
$element['sufix'] = ')';
$element['sql_group_by'] = 'GROUP BY information_items_table.information_items_id';
$element['sql_having'] = 'HAVING COUNT(information_propertys_items_table.information_propertys_items_id) = 2';
$params['select'][] = $element;
То есть данный фильтр выбирает из общего списка элементов те, у которых либо доп. свойство "29" == 83, либо доп. свойство "30" == 86, либо и то и то, надо сделать, чтобы выбирались только те, у которых и свойство "29" == 83, и свойство "30" == 86, если заменить во втором блоке $element префикс на " AND ", то в выборку не попадает ничего.
Помогите, пожалуйста, разобраться в этом вопросе. Заранее большое спасибо.