4

我正在尝试查找过去一小时内创建的产品。

我可以像这样按创建日期对产品进行排序:

$collection = Mage::getModel('catalog/product')
    ->getCollection()
    ->addAttributeToSelect('*')
    ->addAttributeToSort('created_at', 'desc');

但我想按 created_at 过滤。我尝试用 替换上面块的最后一行addAttributeToFilter('created_at', array('gteq' =>$time));,我认为这一定是正确的,但我找不到正确的格式$time

我在这里是否走在正确的轨道上,如果是这样,我应该采用什么格式$time

4

1 回答 1

3

您应该使用 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(在我的环境中)

于 2013-03-07T12:50:30.463 回答