我正在查找最近一小时内创建的产品。
我能够按照创建的日期对产品进行排序,如下所示:
$collection = Mage::getModel('catalog/product')
->getCollection()
->addAttributeToSelect('*')
->addAttributeToSort('created_at', 'desc');
但是我想通过created_at过滤。我已经尝试用addAttributeToFilter('created_at', array('gteq' =>$time));
替换上述块的最后一行,我认为这一定是正确的,但我找不到$time
的正确格式。
我是否在正确的轨道上,如果是这样,我应该用什么格式喂养$time
?
应该使用MySQL时间戳格式。下面的代码为我工作:
$time = "2013-02-06 09:32:23"; // 'yyyy-mm-dd hh:mm:ss'
$collection = Mage::getModel('catalog/product')
->getCollection()
->addAttributeToSelect('*')
->addAttributeToSort('created_at', 'desc')
->addAttributeToFilter('created_at', array('gteq' =>$time));
您可以很容易地找到给定属性的格式,只需将其回显到屏幕上。例如:
$collection = Mage::getModel('catalog/product')
->getCollection()
->addAttributeToSelect('*')
->addAttributeToSort('created_at', 'desc');
exit($collection->getFirstItem()->getData('created_at');
输出为2013-02-06 09:32:23(在我的环境中)