如何获取Magento 2中的订单商品ID(不是订单ID)?

时间:2017-08-01 09:15:25

标签: php magento magento2

我需要订单项ID以便在Magento 2上使用服务RefundInvoice来创建退款(http://devdocs.magento.com/guides/v2.1/mrg/ce/Sales/services.html)的贷项通知单。

订单商品ID我绝对不是订单ID,因为我尝试过那个。

所以任何人都知道如何检索订单商品ID?

2 个答案:

答案 0 :(得分:0)

//尝试使用以下代码。

$orderId = 1234; //put your order id.
$order = $this->_objectManager->create('Magento\Sales\Model\Order')->load($orderId);
$orderItems = $order->getAllItems();
foreach($orderItems as $item)
{
  echo "Order Item ID :".$item->getItemId(); //
}

答案 1 :(得分:0)

item_id实际上是sales_order_item的entity_id。在将记录保存到数据库之前,此行将为NULL,直到将其填充行ID。为了访问它并找到其值,salesOrderItem对象必须首先调用-> save()。如果要查找实际的“商品ID”(产品),请使用product_id。如果需要记录记录ID,请致电$object->save(),然后可以阅读$object->getItemId()