我需要为qty_invoiced表中的某些顺序更改sales_flat_order_item列的值,但是不幸的是没有任何反应。

这是我的代码:

$allOrders = Mage::getModel('sales/order')->getCollection()
    ->addFieldToFilter('status', 'complete');

foreach ($allOrders as $value) {
  $order = Mage::getModel('sales/order')->load($value->getId());
  if($order->getincrementId() == '100000003'){
    foreach ($order->getAllItems() as $item) {
      $qtyOrdered = $item->getQtyOrdered();
      $item->setQtyInvoiced($qtyOrdered);
    }
  }
}

最佳答案

我认为您需要在设置新数量后保存物料和订单。

foreach ($allOrders as $value) {
    $order = Mage::getModel('sales/order')->load($value->getId());
    if($order->getincrementId() == '100000003'){
        /** @var $item Mage_Sales_Model_Order_Item */
        foreach ($order->getAllItems() as $item) {
            $qtyOrdered = $item->getQtyOrdered();
            $item->setQtyInvoiced($qtyOrdered);
            $item->save();

        }
    }
    $order->save();
}

关于php - Magento-更新sales_flat_order_item表中发票的数量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37185446/

10-09 00:26