Magento2: Cara terbaik untuk memuat Pelanggan dengan ID pelanggan

15

Apa cara terbaik untuk memuat Pelanggan dengan Id? menggunakan antarmuka pelanggan atau pabrik pelanggan atau cara lain?
Dalam sebagian besar solusi yang saya temukan, ini dilakukan dengan langsung menggunakan objectManager(yang seharusnya tidak pernah digunakan).

Vishwas Bhatnagar
sumber

Jawaban:

24

Itu selalu merupakan praktik yang lebih baik untuk menggunakan kontrak layanan.

Dalam kasus Anda, saya akan menggunakan \Magento\Customer\Api\CustomerRepositoryInterface:

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

Kemudian dalam kode Anda, Anda dapat memanggil:

$customerId = 1;
$customer = $this->_customerRepositoryInterface->getById($customerId);
Raphael di Digital Pianism
sumber
tidak berfungsi ... saya tetap menyimpannya di helper / data.php dan panggil metode ini dalam file phtml tetapi tidak berfungsi.
Sarfaraj Sipai