【发布时间】:2015-05-12 02:29:29
【问题描述】:
我有一个非 EAV 模型,我想过滤它的集合,如下所示
$td_trans_collection = Mage::getModel('tichdiem/scoretransaction')->getCollection();
$td_trans_collection->addFieldToFilter('increment_id', $incrementId)
->addFieldToFilter('action', self::TICHDIEM_ADD)
->load();
查询产生的
$td_trans_collection->getSelect()->__toString();
返回
SELECT `main_table`.* FROM `fhs_td_score_transaction` AS `main_table` WHERE (increment_id = '100010565') AND (action = '0')
这是一个正确的查询,应该只返回 1 个答案。我也在终端上运行了这个查询。但是,当我像
一样遍历集合时 foreach($td_trans_collection as $item){
echo $item;
}
我的表中的所有条目都得到了,为什么会这样?我正在使用 Magento 1.9.1
【问题讨论】:
-
如果你应该只得到一行,为什么不使用 getFirstItem() 而不是 load() 呢?你不必循环。
标签: php magento magento-1.9 magento-1.9.1