Magento2: Melhor maneira de carregar o cliente por ID do cliente


15

Qual é a melhor maneira de carregar o Cliente por ID? usando a interface do cliente ou a fábrica do cliente ou de outra maneira?
Na maioria das soluções que encontrei, isso é feito diretamente usando objectManager(que nunca deve ser usado).

Respostas:


24

É sempre uma prática melhor usar contratos de serviço.

No seu caso, eu usaria \Magento\Customer\Api\CustomerRepositoryInterface:

protected $_customerRepositoryInterface;
public function __construct(
    ....
    \Magento\Customer\Api\CustomerRepositoryInterface $customerRepositoryInterface,
    ....
) {
    ....
    $this->_customerRepositoryInterface = $customerRepositoryInterface;
}

Em seguida, no seu código, você pode chamar:

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

não está funcionando ... eu o mantenho em helper / data.php e chamo esse método no arquivo phtml, mas não está funcionando.
Sarfaraj Sipai
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.