копирование заказов клиента другому клиенту в magento
Можно ли получить все заказы клиента и скопировать их в другого клиента в magento?
2 answers
Два способа справиться с этим -
Редактируйте базу данных напрямую. Не делай этого .
Создайте одноразовый сценарий, который будет повторно связывать заказы с другими клиентами.
Для этого вы можете запустить что-то похожее на:
$fromCustomer = $customer->loadByEmail('[email protected]');
$toCustomer = $customer->loadByEmail('[email protected]');
$orderEmailCollection = Mage::getModel('sales/order')->getCollection()->addFieldToFilter('customer_email',$fromCustomer->getEmail());
$orderIdCollection = Mage::getModel('sales/order')->getCollection()->addFieldToFilter('customer_id',$fromCustomer->getId());
foreach($orderEmailCollection as $order){
$order->setCustomerId($toCustomer->getId());
$order->setCustomerEmail($toCustomer->getEmail());
$order->save();
}
foreach($orderIdCollection as $order){
$order->setCustomerId($toCustomer->getId());
$order->setCustomerEmail($toCustomer->getEmail());
$order->save();
}
Есть такой сценарий:
Https://github.com/iateadonut/magento_copy_customer
Он захватывает клиента и все его заказы с помощью одной команды:
$mg->копи_кастомер(1234);
Если 1234 - это customer_entity.entity_id - Вы можете заглянуть в исходный код, чтобы увидеть, как были запрошены ограничения таблицы, чтобы убедиться, что все строки были захвачены.
Там есть и другие методы, которые должны быть в состоянии переместить заказ для вас. Ты мог бы раскошелитесь и передайте свою работу другим или попросите автора создать что-то конкретное.