3

My order #100000010 has 3 items. But when I used this code, it did not echo anything. Where is my mistake

<?php   
$id_order = 100000010;
$order = Mage::getModel('sales/order')->load($id_order);
$items = $order->getAllItems();
foreach($items as $i):
  echo $_product = Mage::getModel('catalog/product')
            ->load($i->getProductId())->getSku();
endforeach;?>
7ochem
  • 7,532
  • 14
  • 51
  • 80
tuanptit
  • 339
  • 2
  • 5
  • 12

2 Answers2

4

The long number is the order's increment_id, which is different from its entity_id (which is what load() expects).

Use loadByIncrementId() to load by increment ID:

$order = Mage::getModel('sales/order')->loadByIncrementId($id_order);
Agop
  • 659
  • 3
  • 11
3

Hi 100000010 is order increment id.it is not order id.. So need to change

to

$order = Mage::getModel('sales/order')->loadByIncrementId($id_order)

from

$order = Mage::getModel('sales/order')->load($id_order);
Amit Bera
  • 77,456
  • 20
  • 123
  • 237