Get Customer Address with customer ID programmatically Magento2



<?php
/**
 *
 * Copyright © 2015 Bluethinkcommerce. All rights reserved.
 */
namespace Module\Api\Controller\Index;

class Customeraddress extends \Magento\Framework\App\Action\Action
{

 /**
     * @var \Magento\Framework\App\Cache\TypeListInterface
     */
    protected $_cacheTypeList;

    /**
     * @var \Magento\Framework\App\Cache\StateInterface
     */
    protected $_cacheState;

    /**
     * @var \Magento\Framework\App\Cache\Frontend\Pool
     */
    protected $_cacheFrontendPool;

    /**
     * @var \Magento\Framework\View\Result\PageFactory
     */
    protected $resultPageFactory;

    /**
     * @param Action\Context $context
     * @param \Magento\Framework\App\Cache\TypeListInterface $cacheTypeList
     * @param \Magento\Framework\App\Cache\StateInterface $cacheState
     * @param \Magento\Framework\App\Cache\Frontend\Pool $cacheFrontendPool
     * @param \Magento\Framework\View\Result\PageFactory $resultPageFactory
     */
    protected $customerRepository;
    protected $addressRepository;
    public function __construct(
       \Magento\Framework\App\Action\Context $context,
        \Magento\Framework\App\Cache\TypeListInterface $cacheTypeList,
        \Magento\Framework\App\Cache\StateInterface $cacheState,
        \Magento\Framework\App\Cache\Frontend\Pool $cacheFrontendPool,
        \Magento\Customer\Api\CustomerRepositoryInterface  $customerRepository,
        \Magento\Customer\Api\AddressRepositoryInterface   $addressRepository,
        \Magento\Framework\View\Result\PageFactory $resultPageFactory
    ) {
        parent::__construct($context);
        $this->_cacheTypeList = $cacheTypeList;
        $this->_cacheState = $cacheState;
        $this->_cacheFrontendPool = $cacheFrontendPool;
        $this->resultPageFactory = $resultPageFactory;
        $this->customerRepository = $customerRepository;
        $this->addressRepository  =  $addressRepository;
    }
 
    /**
     * Flush cache storage
     *
     */
    public function execute()
    {   


       $customer_id=$this->getRequest()->getParam('custid');
        
       //print_r($customer_id) ;
       
       
        $customerId = $customer_id;
        $objectManager = \Magento\Framework\App\ObjectManager::getInstance();
        
        $customerFactory=$objectManager->get('Magento\Customer\Model\CustomerFactory');
        
        $addressFactory=$objectManager->get('Magento\Customer\Model\AddressFactory');

        $address=$objectManager->get('Magento\Customer\Model\Address'); 
                                
   

       $addrcoll= $objectManager->create('\Magento\Customer\Model\Address')->getCollection();
     /*   echo "<pre>";
       print_r($addrcoll->getData());
        exit();*/

        $customerObj = $objectManager->create('Magento\Customer\Model\Customer')->load($customerId);
        
        $customerAddress = array();
        
        foreach ($customerObj->getAddresses() as $address)
        {
            $customerAddress[] = $address->toArray();
        }
        $main=array();
        $i=0;
        
         
        foreach ($customerAddress as $customerAddres) {
               if ($i<1) {   
                 $add['customer_id']= $customerAddres['parent_id'];
                 $add['street']= $customerAddres['street'];
                 $add['city']=$customerAddres['city'];
                 $add['postcode']=$customerAddres['postcode'];
                 $customerAddres['country_id'];
                 $add['country_name']=$customerAddres['Country_name']=$objectManager->create('\Magento\Directory\Model\Country')->load($customerAddres['country_id'])->getName();
                  $main[]=$add;
      } $i++;  }
    /* echo "<pre>";
    print_r(json_encode($main));*/
    
       echo "<pre>";
 echo "{"."<br>".json_encode($main,JSON_PRETTY_PRINT)."<br>"."}";   


  
        
  }      
    
}

Comments

Popular posts from this blog

Get Swatch Text Product id of Configurable Product in Detail Page through Jquery Magento2

Getting product Image in PHTML in Magento2

Add Custom Wishlist in PHTML Magento2