Magento - поиск продуктов, созданных за последний час
Я пытаюсь найти товары, созданные за последний час.
Я могу сортировать товары по дате создания следующим образом:
$collection = Mage::getModel('catalog/product')
->getCollection()
->addAttributeToSelect('*')
->addAttributeToSort('created_at', 'desc');
Но я бы хотел отфильтровать по созданному. Я попытался заменить последнюю строку вышеуказанного блока на addAttributeToFilter('created_at', array('gteq' =>$time));
что, я думаю, должно быть правильно, но я не могу найти правильный формат для $time
,
Я на правильном пути здесь, и если да, то в каком формате я должен кормить $time
в с?
1 ответ
Решение
Вы должны использовать формат отметки времени 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 (в моей среде)