(SELECT `value` FROM property_value_ints WHERE property_value_ints.entity_id = `shop_items`.id AND property_value_ints.property_id = 45 LIMIT 1) AS old_price,
(SELECT `value` FROM property_value_ints WHERE property_value_ints.entity_id = `shop_items`.id AND property_value_ints.property_id = 53 LIMIT 1) AS old_price_curr,
(SELECT `value` FROM list_items WHERE list_items.id = old_price_curr AND list_items.list_id = 28 LIMIT 1) AS old_price_curr_val,
(SELECT `exchange_rate` FROM shop_currencies WHERE shop_currencies.code = old_price_curr_val) AS old_price_curr_coef
FROM `shop_items`
ORDER BY old_price DESC
Читал немного не понятно. Возможно ли написать так?:
$oCore_QueryBuilder_Select = Core_QueryBuilder::select(array('(SELECT `value` FROM property_value_ints WHERE property_value_ints.entity_id = `shop_items`.id AND property_value_ints.property_id = 45 LIMIT 1)', 'old_price'))->from('shop_items');
E-mail: info@syrbek.ru / телега: @syrbek /skype: activexm / syrbek.ru / Поддержка сайтов / г. Москва [HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, Git, SVN, Redmine]
Из документации готовый пример:
Скалярный подзапрос
// SELECT (SELECT MAX(`column2`) FROM `t2`) FROM `t1`
$oCore_QueryBuilder_Select2 = Core_QueryBuilder::select('MAX(column2)')->from('t2');
$oCore_QueryBuilder_Select = Core_QueryBuilder::select($oCore_QueryBuilder_Select2)->from('t1');
То, что Вы добавляете первым индексом массива (запрос в скобках) должно быть объектом с этими условиями, в примере выше это $oCore_QueryBuilder_Select2
Seri,
естественно будет ошибка, т.к. такие поля отсутствуют в таблице и в модели. Если вам нужны какие то доп. данные, выбирайте их внутри хука на getXml()