我需要在查询中添加自定义列。我已经看到许多与在网格上添加自定义列相关的 SO 问题,这不是问题。但是我无法在模型上不存在的 select 子句上添加新字段。这是我的代码:
我的_prepareCollection()
函数中有这个片段:
$collection = Mage::getModel('banners/bannersadmin')->getCollection();
$collection->getSelect()
->join(array("T"=>$this->_bannersadminTable), "main_table.banner_start_date BETWEEN T.banner_start_date AND T.banner_end_date", array())
->where("main_table.bannerID < T.bannerID");
var_dump((string) $collection->getselect());
结果查询如下:
SELECT `main_table`.*
FROM `dts_banners_admin` AS `main_table`
INNER JOIN `dts_banners_admin` AS `T`
ON main_table.banner_start_date BETWEEN T.banner_start_date AND T.banner_end_date
WHERE (main_table.bannerID < T.bannerID)
但是我需要这个略有不同的结果,在aux_value
列中添加了我自己的值,在这种情况下为 1,但可以是我想要的任何其他值。
SELECT `main_table`.*, 1 AS `aux_value`
FROM `dts_banners_admin` AS `main_table`
INNER JOIN `dts_banners_admin` AS `T`
ON main_table.banner_start_date BETWEEN T.banner_start_date AND T.banner_end_date
WHERE (main_table.bannerID < T.bannerID)