从获得在Magento过去24小时内的订单项目(Get orders items from last

2019-08-05 13:12发布

我试图从过去24小时内得到的所有订单项。 我有锁定的查询,所以它给我回来,我需要什么(一个order_id和created_on值)。

$order_items = Mage::getResourceModel('sales/order_item_collection')
    ->addAttributeToSelect('order_id')
    ->addAttributeToSelect('created_at')
    ->addFieldToFilter('sku', $membership_sku)
    ->toArray();

我已经找遍了,它看起来像我需要添加另一个 - > addFieldToFilter()属性,但我不能肯定它应该如何构建。 任何例子是非常有帮助的。

如果有帮助,我使用Magento企业v1.12.0.2

Answer 1:

我认为你需要重新格式化你的时间才能够得到很好的效果:

$time = time();
$to = date('Y-m-d H:i:s', $time);
$lastTime = $time - 86400; // 60*60*24
$from = date('Y-m-d H:i:s', $lastTime);
$order_items = Mage::getResourceModel('sales/order_item_collection')
    ->addAttributeToSelect('order_id')
    ->addAttributeToSelect('created_at')
    ->addAttributeToFilter('created_at', array('from' => $from, 'to' => $to))
    ->load();


Answer 2:

经过一番更多的研究,我碰到的文档在这里 。 我决定使用的strtotime,因为它更容易,但是如果别人有更好的解决方案,请让我知道。

->addFieldToFilter('created_at', array(
    'from'     => strtotime('-1 day', time()),
    'to'       => time(),
    'datetime' => true
))


文章来源: Get orders items from last 24 hours in Magento
标签: magento