このループが機能しない理由がわかりません。
$orders = Mage::getSingleton('sales/order')->getCollection()
->addAttributeToSelect('*')
->addFieldToFilter('created_at', array('from'=>$from, 'to'=>$to))
->addAttributeToSort('increment_id', 'ASC')
;
foreach ($orders as $item) {
$order_id = $item->increment_id;
if (is_numeric($order_id)) $order = Mage::getModel('sales/order')->loadByIncrementId($order_id);
if (is_object($order)) {
echo "> O: ". $order_id ."<BR>";
$items = $order->getAllItems();
echo ">> O: ". $order_id ."<BR>";
} else
die("DIE ". var_dump($order));
}
die("<BR> DONE");
出力:
...
...
>> O: 100021819
> O: 100021820
>> O: 100021820
> O: 100021821
ループが終了することも、同じ order_id で停止することもありません。
$order->getAllItems() で常に失敗します
これらの注文は保留中、処理中、または完了しています。
$order->getAllItems() でチェックする必要があるものはありますか?それは失敗していたからです。
ありがとう。