10

過去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()プロパティを追加する必要があるようですが、どのように構成する必要があるのか​​よくわかりません。どんな例でも非常に役に立ちます。

それが役立つ場合は、MagentoEnterprisev1.12.0.2を使用しています

4

2 に答える 2

20

良い結果を得るには、時間を再フォーマットする必要があると思います。

$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();
于 2013-01-04T10:11:36.510 に答える
15

いくつかの追加の調査の後、私はここでドキュメントに出くわしました。strtotimeの方が簡単なので使用することにしましたが、他の誰かがより良い解決策を持っている場合は、私に知らせてください。

->addFieldToFilter('created_at', array(
    'from'     => strtotime('-1 day', time()),
    'to'       => time(),
    'datetime' => true
))
于 2013-01-04T05:07:10.727 に答える