gpt4 book ai didi

php - Magento:未发货的项目集合

转载 作者:行者123 更新时间:2023-12-01 00:52:48 24 4
gpt4 key购买 nike

我想获取给定订单的所有未发货商品。

假设我有一个部分发货的订单,我想检索所有待发货的商品。

类似于:

$collection = Mage::getModel('...')->getCollection()
->Add...()

最佳答案

要获取订单的所有商品,请使用商品集合:

    $order = Mage::getModel('sales/order')->load($orderId);
$orderItems = $order->getItemsCollection();

然后使用发货模型获取订单的所有商品:

   $shippedItems = Mage::getModel('sales/order_shipment')
->setOrder($order)->getItemsCollection();

Edit2:事实证明,在货件上设置订单对于获取项目集合不起作用,因为一个订单可能有多个货件。请改用下面提供的代码片段。

编辑:我忘记了可能会有多次发货,所以这里是获取订单商品的所有 ID 和已发货商品的所有 ID 的完整工作代码:

$orderId = 15;
$order = Mage::getModel('sales/order')->load($orderId);
$orderItems = $order->getItemsCollection();
$allOrderItemIds = $orderItems->getAllIds();
$shipments = $order->getShipmentsCollection();
$shippedItemIds = array();
foreach ($shipments as $shipment) {
$shippedItems = $shipment->getItemsCollection();
foreach ($shippedItems as $item) {
$shippedItemIds[] = $item->getOrderItemId();
}
}
var_dump($allOrderItemIds);
var_dump($shippedItemIds);

关于php - Magento:未发货的项目集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13970642/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com