0
我與Magento的CE 1.9.x的工作,我目前的網站上的Magento的1.4.x CEMagento的1.9.x的 - 如何
運行數據遷移之後的訂單,更新客戶ID,客戶ID是失蹤每一個訂單。
現在我想按順序更新客戶ID,我該怎麼做?
有什麼想法?
我與Magento的CE 1.9.x的工作,我目前的網站上的Magento的1.4.x CEMagento的1.9.x的 - 如何
運行數據遷移之後的訂單,更新客戶ID,客戶ID是失蹤每一個訂單。
現在我想按順序更新客戶ID,我該怎麼做?
有什麼想法?
這裏是如何更新客戶ID爲編程每個訂單爲例,
$orderCustomerMapping = array(
1 => 123,
2 => 124,
// ...
// order_id => customer_id
);
foreach ($orderCustomerMapping as $orderId => $customerId) {
$order = Mage::getModel('sales/order')->load($orderId);
$order->setCustomerId($customerId);
$order->save();
}
jraisanen的答案是正確的,但要完成關聯,您還應該設置客戶組ID,是客人標誌象所以:
$_order = Mage::getModel('sales/order')->load($order->getId());
$_order->setCustomerId($myCustomerId); //sets the customer id
$_order->setCustomerIsGuest(0); //sets is guest to false
$_order->setCustomerGroupId('1');//sets to the "general" customer group
$_order->save();
嘗試從舊數據庫中導入一個只有2列的CSV。 1)訂購實體ID或增量ID和2)cutomer_id。閱讀CSV並添加代碼來使用直接的mysql查詢來更新新的數據庫,或者像@ jraisanen說的那樣。但是如果你有很多的訂單,那麼通過代碼運行直接查詢。這將節省時間。爲了運行下面的代碼,你需要實體ID。如果你想使用增量id,然後使用Mage :: getModel('sales/order') - > loadByIncrementId($ orderId); –