我有一个magento集合,如果我回显了getSelect()函数,我会得到这样的查询:
SELECT
`table1`.*,
`table`.*,
`table3.fieldy` AS 'fieldname'
.....
FROM ....
WHERE....
我希望将此查询更改为以下内容:
SELECT
`table1`.*,
`table`.*,
`table3.fieldy` AS 'fieldname',
(SELECT col1, col2, (case when (action == 2 and state == 0) then 1 else 0 end) as state from tbl1) AS 'fieldname2'
......
FROM....
WHERE....
现在,例如,对于where子句,您可以使用
向查询添加文本productCollection->getSelect()->where('query text');
但是如何将自定义查询文本添加到select的第一部分?
非常感谢
答案 0 :(得分:5)
您可以使用Mage_Eav_Model_Entity_Collection_Abstract
函数addExpressionAttributeToSelect
将Subselect添加到您的查询中
或者只需添加新的子选择字段以选择:
$this->getSelect()->columns(array($alias => $fullExpression));
注意:$fullExpression
应该用引号括起来。