我正在尝试获取过去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
答案 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
))