Як отримати дані клієнтів за їхнім ідентифікатором у Magento 2?

Як ви знаєте, управління замовленнями в Magento 2 – це досить вимогливий процес. Він вимагає повної уваги до деталей та здатності швидко приймати рішення. Особливо, коли йдеться про інформацію, пов’язану з клієнтами.

Так само, як і отримання поточного клієнта , ви повинні знати, як отримати дані про клієнтів за їхнім ідентифікатором у Magento. І саме це ви дізнаєтесь сьогодні.

Існує кілька методів, тому ми розглянемо кожен з них детально.

Отримання даних про клієнтів за їхнім ідентифікатором за допомогою фабричного методу

Фабричний метод є одним із найпоширеніших. Отже, наведений нижче код допоможе вам отримати дані про клієнтів за ідентифікатором клієнта:

<?php
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$customerFactory = $objectManager->get('\Magento\Customer\Model\CustomerFactory')->create();

$customerId = 1;

$customer = $customerFactory->load($customerId);

print_r($customer->getData());

echo $customer->getEmail() . PHP_EOL;
echo $customer->getFirstname(). PHP_EOL;
echo $customer->getLastname(). PHP_EOL;

Отримати дані про клієнтів за ідентифікатором клієнта за допомогою репозиторію API

Метод репозиторію API також можна застосувати в цьому випадку. Просто скористайтеся наступним кодом:

    protected $customerRepository;
    public function __construct(
\Magento\Customer\Api\CustomerRepositoryInterface $customerRepository) {
$this->customerRepository = $customerRepository;
} public function getCustomerById($customerId)
{
return $this->customerRepository->getById($customerId);
}

Отримати дані про клієнтів за ідентифікатором клієнта за допомогою менеджера об'єктів

Нарешті, метод менеджер об'єктів . Хоча він здається найпростішим, на цьому шляху можуть виникнути деякі ускладнення. Проте наведений нижче код допомагає отримати дані про клієнтів за ідентифікатором клієнта:

$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$customerRepository = $objectManager->get(\Magento\Customer\Api\CustomerRepositoryInterface::class);
$customer = $customerRepository->getById(55);
echo $customer->getEmail() . PHP_EOL;
echo $customer->getFirstname(). PHP_EOL;
echo $customer->getLastname(). PHP_EOL;

Примітка: рекомендується уникати прямого використання менеджера об'єктів, оскільки він має тенденцію приховувати реальні залежності класу.

Як бачите, у вас є кілька варіантів на вибір. Просто оберіть метод, з яким вам найзручніше працювати.

Однак, вам не варто на цьому зупинятися. Також може бути корисним навчитися отримати товар за ID в Magento 2 . Цей навик, безумовно, стане в пригоді під час роботи з Magento.