Друзья, подскажите пожалуйста!
Естьн еобходимость двойного фильтра в магазине. Но вот какая штука, если фильтровать по одному запросу (либо по первому, либо по второму) - всё отлично выбирается. Как только указываем два - возвращается в ноль...
Код выборки такой:
if (isset($_POST['property_realiz'])) {
$value = to_int($_POST['property_realiz']);
$external_propertys['current_property_realiz'] = $value;
if ($value > 0) {
$element = array();
$element['type'] = 1;
$element['property_id'] = $value;
$element['prefix'] = 'AND (';
$element['if'] = '=';
$element['value'] = '1';
$element['sufix'] = ')';
$param['select'][] = $element;
}
} else {
$external_propertys['current_property_realiz'] = -1;
}
if (isset($_POST['property_city'])) {
$value = to_str($_POST['property_city']);
$external_propertys['current_property_city'] = $value;
if (to_int($_POST['property_city']) != -1) {
$element = array();
$element['type'] = 1;
$element['property_id'] = $cityProp;
$element['prefix'] = 'AND (';
$element['if'] = '=';
$element['value'] = $value;
$element['sufix'] = ')';
$param['select'][] = $element;
}
} else {
$external_propertys['current_property_city'] = -1;
}
В мануале есть вариант с двумя доп. свойствами, но там испольуется OR, а не AND между свойствами.
Из мануала добавил даже:
$param['sql_group_by'] = "GROUP BY shop_items_catalog_table.shop_items_catalog_item_id ";
$param['sql_having'] = "HAVING COUNT(shop_properties_items_table.shop_properties_items_id) = 2";
, но толку ноль. Кто что думает?