获取Magento过去24小时的订单商品

时间:2013-01-04 04:34:59

标签: magento

我正在尝试获取过去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 Enterprise v1.12.0.2

2 个答案:

答案 0 :(得分:18)

我认为你需要重新格式化你的时间才能取得好成绩:

$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();

答案 1 :(得分:13)

经过一些额外的研究,我发现了文档here。我决定使用strtotime,因为它更容易,但如果其他人有更好的解决方案,请告诉我。

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