是否可以更新Magento中的订单商品数量?

时间:2012-09-24 10:23:42

标签: php magento magento-1.7

我试图更改magento订单商品数量,但它不起作用。是否可以使用Magento自己的API更改订单商品数量,或者我是否需要使用一些自己的SQL才能更改订单商品数量?

$order = Mage::getModel('sales/order')->loadByIncrementId($orderId);
foreach($order->getAllItems() as $item)
{
    $item->setToCancel(5);
    $item->setToRefund(5);
    $item->setToInvoice(5);
    $item->setQtyToShip(5);
    $item->setQty(5);
    $item->save();  
}

// Why qtys are still same and not 5 as set before???
foreach($order->getAllItems() as $item)
{
    echo "Id : " . $item->getId() . "\r\n" .
        "QtyToCancel : " . $item->getQtyToCancel() . "\r\n".
        "QtyToRefund : " . $item->getQtyToRefund() . "\r\n".
        "QtyToInvoice : " . $item->getQtyToInvoice() . "\r\n".
        "QtyToShip : " . $item->getQtyToShip() . "\r\n".
        "Qty : " . $item->getQty() . "\r\n";                
}

1 个答案:

答案 0 :(得分:2)

在magento中,该过程意味着如下:

  • 下订单
  • 要更改,请停用订单
  • 创建新订单