0

我與Magento的CE 1.9.x的工作,我目前的網站上的Magento的1.4.x CEMagento的1.9.x的 - 如何

運行數據遷移之後的訂單,更新客戶ID,客戶ID是失蹤每一個訂單。

現在我想按順序更新客戶ID,我該怎麼做?

有什麼想法?

+0

嘗試從舊數據庫中導入一個只有2列的CSV。 1)訂購實體ID或增量ID和2)cutomer_id。閱讀CSV並添加代碼來使用直接的mysql查詢來更新新的數據庫,或者像@ jraisanen說的那樣。但是如果你有很多的訂單,那麼通過代碼運行直接查詢。這將節省時間。爲了運行下面的代碼,你需要實體ID。如果你想使用增量id,然後使用Mage :: getModel('sales/order') - > loadByIncrementId($ orderId); –

回答

0

這裏是如何更新客戶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(); 
} 
0

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();