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; }
$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