Magento的1.9.x的 - 如何

问题描述:

我与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); –

这里是如何更新客户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();