Magento:为什么在这个变量中订购的项目重复?

mus*_*sme 0 php magento

当我按订单号加载订单时,返回的数组包含两次相同的项目。

$order = Mage::getModel('sales/order')->loadByIncrementId(12345);
$orderItems = $order->getItemsCollection();
Run Code Online (Sandbox Code Playgroud)

如果订单包含一个项目,那么,count($orderItems)将是 2 并且每个数组索引中的内容将是相同的。这是怎么回事?

我也尝试了以下方法来加载订单,但它甚至不适用于 Magento Enterprise 1.11.2.0。

$order = Mage::getModel('sales/order')->load(12345);
$orderItems = $order->getAllItems()
Run Code Online (Sandbox Code Playgroud)

小智 5

如果您使用的是可配置产品,magento 会复制 sales_flat_order_item 数据库表中的订单项目。

如果你使用 $order->getAllVisibleItems() 你会得到你想要的。