Magento 2 carregar cliente por ID

Esta é outra questão muito importante quando se trata de operações Magento. Os administradores de lojas frequentemente desejam buscar diferentes produtos e detalhes de clientes para realizar certas operações neles. Neste artigo, veremos como carregar o cliente por id no Magento 2! Então vamos começar?

3 maneiras de carregar o cliente por ID no Magento 2

Você pode carregar o cliente por ID usando:

  • Método do construtor (recomendado)
  • Método de Fábrica
  • Gerente de Objeto

Vejamos cada um deles:

1. Método do Construtor

A melhor e recomendada maneira de carregar o cliente por ID no Magento 2 é usar o método Construtor.

Repositório Api: \ Magento \ Customer \ Api \ CustomerRepositoryInterface

Use o código abaixo:

protected $_customerRepositoryInterface;
public function __construct(
 ....
 \Magento\Customer\Api\CustomerRepositoryInterface $customerRepositoryInterface,
 ....
) {
 ....
 $this->_customerRepositoryInterface = $customerRepositoryInterface;
}
Agora chame está ação:

 
$customerId = 1; 
$customer = $this->_customerRepositoryInterface->getById($customerId);
 

2. Método de Fábrica

Use o seguinte script para carregar o cliente por ID usando o método de fábrica.

[code]
namespace Company\Module\Block;

class Product extends \Magento\Framework\View\Element\Template
{

 protected $customer; 

 public function __construct(
 
 \Magento\Customer\Model\Customer $customer

 ) {
 $this->customer = $customer;
 }

 public function getLoadProduct()
 {
 $customerId=1;
 return $this->customer->create()->load($customerId);
 }
}
[/code]

3. Magento 2 Carregar Cliente por ID Usando Gerenciador de Objetos

Embora esse método não seja recomendado, ele fornece uma solução alternativa. Use o código a seguir para carregar o cliente por ID usando o gerenciador de objetos em sua loja Magento.

$customerId=1;
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$customerData = $objectManager->create('Magento\Customer\Model\Customer')->load($customerId);


Fonte: Magento Extensions