Помогите объединить два фильтра по допсвойствам. Пробовал по-разному, но что-то делаю не так.
Допсвойства в разных таблицах: property_value_texts и property_value_ints
$Informationsystem_Controller_Show
->informationsystemItems()
->queryBuilder()
->leftJoin('informationsystem_item_properties', 'informationsystem_items.informationsystem_id', '=', 'informationsystem_item_properties.informationsystem_id')
->leftJoin('property_value_texts', 'informationsystem_items.id', '=', 'property_value_texts.entity_id',
array(
array('AND' => array('informationsystem_item_properties.property_id', '=', Core_QueryBuilder::expression('`property_value_texts`.`property_id`')))
)
)
->leftJoin('property_value_ints', 'informationsystem_items.id', '=', 'property_value_ints.entity_id',
array(
array('AND' => array('informationsystem_item_properties.property_id', '=', Core_QueryBuilder::expression('`property_value_ints`.`property_id`')))
)
)
Дальше есть один фильтр
// Идентификатор дополнительного свойства
->where('informationsystem_item_properties.property_id', '=', 82)
// Если есть текст
->where('property_value_texts.value', '<>', '')
И есть второй фильтр
// Идентификатор дополнительного свойства
->where('informationsystem_item_properties.property_id', '=', 109)
// Значание дополнительного свойства
->where('property_value_ints.value', '=', '1953')
По отдельности они работают и выдают пересекающиеся значения.
А вместе объединить не могу. Ничего не выдает.
Eсли если поставить ->setOr(), то выдает объединение, значит с данными всё в порядке.