我想知道是否可以在Magento 1.7.2 中过滤自定义集合。 我当前的代码如下所示:
$collection = $model->getCollection()
->addFieldToFilter('gc_id',array('gt' => 0))
->addFieldToFilter('expiration_date', array('lteq' => Mage::getModel('core/date')->gmtDate()));
我可以打印它生成的查询,如果我在 MySQL 中运行它,我会得到正确的表行。但是,返回的集合中没有任何项目。没有过滤器的集合也返回所有正确的项目,因此集合实现没有问题。集合类继承自Mage_Core_Model_Resource_Db_Collection_Abstract
询问:
SELECT `main_table`.* FROM `st_freegiftcard` AS `main_table` WHERE (gc_id > 0) AND (expiration_date <= '2013-11-15 23:59:20')
当前丑陋的解决方法:
foreach($collection as $free_gc){
if($free_gc->getGcId() > 0
&& $free_gc->getExpirationDate() <= Mage::getModel('core/date')->gmtDate()){
...
}
}