
Як ви знаєте, управління замовленнями в 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.