HostCMS писал(а):
->having('property_value_ints.value', '=', 80)
Да вы правы, прошу прошение за ошибку. Думаю близок уже к разгадке:
Exception: Query error 42S22: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'property_value_ints.value' in 'having clause'. Query: SELECT SQL_CALC_FOUND_ROWS `shop_items`.* FROM `shop_items` INNER JOIN `shop_item_properties` ON `shop_items`.`shop_id` = `shop_item_properties`.`shop_id` INNER JOIN `property_value_ints` ON `shop_items`.`id` = `property_value_ints`.`entity_id` AND `shop_item_properties`.`property_id` = `property_value_ints`.`property_id` WHERE `shop_items`.`shop_id` = '1' AND ( `shop_items`.`start_datetime` < '2017-02-07 17:32:16' OR `shop_items`.`start_datetime` = '0000-00-00 00:00:00' ) AND ( `shop_items`.`end_datetime` > '2017-02-07 17:32:16' OR `shop_items`.`end_datetime` = '0000-00-00 00:00:00' ) AND `shop_items`.`siteuser_group_id` IN (0, -1) AND `property_value_ints`.`property_id` = 12 AND `shop_items`.`active` = 1 AND ( `shop_items`.`shop_group_id` = 0 ) AND `shop_items`.`deleted` = 0 GROUP BY `shop_items`.`id` HAVING COUNT(`property_value_ints`.`property_id`) = 1 AND `property_value_ints`.`value` = 80 ORDER BY `shop_items`.`sorting` ASC, `shop_items`.`name` ASC LIMIT 10 OFFSET 0
Здесь логично не находит 'property_value_ints.value' как быть куда добавить не подскажете?
$Shop_Controller_Show
->shopItems()
->queryBuilder()
->join('shop_item_properties', 'shop_items.shop_id', '=', 'shop_item_properties.shop_id')
->join('property_value_ints', 'shop_items.id', '=', 'property_value_ints.entity_id',
array(
array('AND' => array('shop_item_properties.property_id', '=', Core_QueryBuilder::expression('`property_value_ints`.`property_id`')))
)
)
->groupBy('shop_items.id')
->where('property_value_ints.property_id', '=', 12)
->having(Core_Querybuilder::expression('COUNT(`property_value_ints`.`property_id`)'), '=', 1)
->having('property_value_ints.value', '=', 80);