Skip to main content

update order customer if mismatch after migration like any issue

Using csv we can update customer ids

use this code in controller

 if (($handle = fopen("/chroot/home/*****/*********/html/app/code/Test/Testmodule/Controller/Index/uniqueorder.csv", "r")) !== FALSE) {
            while (($data = fgetcsv($handle, 10000, ",")) !== FALSE) {
                $email = $data[2];
//                 echo $url;die("data");
                $objectManager = \Magento\Framework\App\ObjectManager::getInstance();

                $orderCollection = $objectManager->create('\Magento\Sales\Model\ResourceModel\Order\CollectionFactory');
                $collection = $orderCollection->create()
                        ->addAttributeToSelect('*')
                        ->load();
                foreach ($collection as $order) {
                    if ($order->getCustomerId() != NULL && $order->getCustomerEmail() == $email) {
                        $customerData = $objectManager->create('Magento\Customer\Model\Customer')->loadByEmail($email);
                        $customerId = $customerData->getId();
                        $order->setCustomerId($customerId);
                        $order->save();
                        echo '<pre>';
                        print_r($customerData->getId() . "--------" . $order->getCustomerId() . "------" . $customerData->getEmail() . '-----------' . $order->getCustomerEmail()."----------". $order->getIncrementId());
                     
                    } else {
//                        $customerData = $objectManager->create('Magento\Customer\Model\Customer')->loadByEmail($email);
//                        $customerId = $currentproduct->getId();
//
//
//                        echo '<pre>';
//                print_r($customerData->getId() . "--------" . $order->getCustomerId() . "------" . $customerData->getEmail().'-----------'.$order->getCustomerEmail());
//                        die("data");
//                        echo $order->getIncrementId() . "----------------" . $order->getCustomerEmail() . "<br/>";
                    }
                }
            }
        }

Comments

Popular posts from this blog

magento 1 extension converted in to magento 2 process

Simple Install =================================== Download as a zip below link. unzip and upload it to your public_html or other rootdoc directory. https://github.com/magento/code-migration. login to your server via shell switch to the code-migration-develop directory by running following command   cd code-migration-develop Run command following command in root directory of this toolkit composer instal Before running the migration, the following directories need to be prepared: ===================================== * `<src>` - Directory that contains custom Magento 1.x code that is intended to be migrated. The code must follow the Magento 1.x directory structure.   Magento1.x core files must not be included. * `<dst>` - Empty directory for the toolkit to put the generated Magento 2 code to * `<m1>` - Directory that contains: * Vanilla Magento 1.x codebase, and * Custom Magento 1.x code same as...

Magento 2 product collection Filtering multi-select attribute values

  If you have multi-select attribute of product like below If you want filter value for this option Use below syntax to get product data: ->addAttributeToFilter('store_model', array('finset' => $params['store_model'])) finset key is used for multiselect attribute filter. $objectManager = \Magento\Framework\App\ObjectManager::getInstance(); $products = $objectManager->get('Magento\Catalog\Model\Product')         ->getCollection()         ->addAttributeToSelect('*')         ->addAttributeToSelect('store_brand')         ->addAttributeToSelect('store_model')         ->addAttributeToSelect('store_year')         ->addAttributeToFilter('store_brand', array('finset' => $params['store_brand']))         ->addAttributeToFilter('store_model', array('finset' => $params['store_model']))         ->ad...

Magento Debug HEADERS ALREADY SENT error

When you  receiving the following error in  system.log file: app\code\core\Mage\Core\Controller\Response\Http.php:44  [1] \www.pawan.com\lib\Zend\Controller\Response\Abstract.php:727  [2]  \www.pawan.com\app\code\core\Mage\Core\Controller\Response\Http.php:75  [3]  \www.pawan.com\app\code\core\Mage\Core\Controller\Varien\Front.php:188  [4]  \www.pawan.com\app\code\core\Mage\Core\Model\App.php:304  [5]  \www.pawan.com\app\Mage.php:596  [6]  \www.pawan.com\index.php:81 if you have no idea what file is causing this. Here is the steps to debug. That error is thrown from Mage_Core_Controller_Response_Http -> sendHeaders(). This function calls the super class function that actually does the check to see whether or not headers have already been sent, Zend_Controller_Response_Abstract -> canSendHeaders(). The Zend_Controller_Response_Abstract class handles, among other things, sending response header...