Magento 2 Orders – How to Get All Items Using Order ID

magento2orders

I tried the below code to get all the items in that order but am getting only first product please find the code below and tell me what mistake i did.

public function getAllItems()
{
    $objectManager = \Magento\Framework\App\ObjectManager::getInstance();
    $order = $objectManager->create('Magento\Sales\Model\Order')->loadByIncrementId(000000014);
    $orderItems = $order->getAllItems();
    $itemQty = array();
    foreach ($orderItems as $item) {
         $itemQty['quantity'] = $item->getQtyOrdered();
         $itemQty['description'] = $item->getDescription();
         $itemQty['name'] = $item->getName();
         $itemQty['price'] = $item->getPrice();
    }
    return $itemQty;
}

Best Answer

Create associative array like below.

public function getAllItems()
{
    $objectManager = \Magento\Framework\App\ObjectManager::getInstance();
    $order = $objectManager->create('Magento\Sales\Model\Order')->loadByIncrementId(000000014);
    $orderItems = $order->getAllItems();
    $itemQty = array();
    foreach ($orderItems as $item) {
        $itemQty[]=array('quantity'=>$item->getQtyOrdered(),'description'=>$item->getDescription(),'name'=>$item->getName(),'price'=>$item->getPrice());

    }
    return $itemQty;
}
Related Topic