Cách tốt nhất để tải Khách hàng theo Id là gì? sử dụng giao diện khách hàng hay nhà máy khách hàng hay cách khác?
Trong hầu hết các giải pháp tôi tìm thấy, nó được thực hiện bằng cách sử dụng trực tiếp objectManager
(không nên sử dụng).
Cách tốt nhất để tải Khách hàng theo Id là gì? sử dụng giao diện khách hàng hay nhà máy khách hàng hay cách khác?
Trong hầu hết các giải pháp tôi tìm thấy, nó được thực hiện bằng cách sử dụng trực tiếp objectManager
(không nên sử dụng).
Câu trả lời:
Luôn luôn là một thực hành tốt hơn để sử dụng hợp đồng dịch vụ.
Trong trường hợp của bạn, tôi sẽ sử dụng \Magento\Customer\Api\CustomerRepositoryInterface
:
protected $_customerRepositoryInterface;
public function __construct(
....
\Magento\Customer\Api\CustomerRepositoryInterface $customerRepositoryInterface,
....
) {
....
$this->_customerRepositoryInterface = $customerRepositoryInterface;
}
Sau đó, trong mã của bạn, bạn có thể gọi:
$customerId = 1;
$customer = $this->_customerRepositoryInterface->getById($customerId);