как получить имя клиента зная его id

[16 июля 2019 г.]    Российская сборка Magento 2.52.2
Magento 2: модули и услуги
magereport.com: составление перечня необходимых для установки заплаток SUPEE
#1 Сергей Киев
  • Группа: Пользователь
  • Сообщений: 28
  • Регистрация: 09.02.2011

27.05.2011 16:48

Подскажите пожалуйста можно ли получить Имя клиента зная его id
как то так

getCustomerName()->load(id)

#2 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8995
  • Регистрация: 20.02.2010

27.05.2011 18:21

Mage::getModel ('customer/customer')->load ('666')->getName ();


#3 Dante
  • Группа: Пользователь
  • Сообщений: 7
  • Регистрация: 03.06.2011

05.06.2011 14:44

А если необходимо получить коллекцию имен пользователей по их id?
Например код
$user_collection = Mage::getModel('customer/customer')->getCollection();
$user_collection->addFieldToFilter('entity_id', array("in"=>$user_id));

вернет объекты основанные только на основной таблице, и в их свойствах отсутствует имя.
Как вернуть коллекцию полнофункциональных объектов?

#4 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8995
  • Регистрация: 20.02.2010

05.06.2011 15:05

Класс Mage_Customer_Model_Entity_Customer_Collection является наследником класса Mage_Eav_Model_Entity_Collection_Abstract, у которого присутствует метод addAttributeToSelect, предназначенный для указания подлежащих к загрузке характеристик объекта. Помимо конкретных характеристик метод addAttributeToSelect принимет значение "*", которое является знаком загрузки всех характеристик объекта.

#5 vinnc
  • Группа: Пользователь
  • Сообщений: 7
  • Регистрация: 20.05.2011

06.06.2011 10:22

 $user_collection= Mage::getResourceModel('customer/customer_collection')
            ->addNameToSelect()
            ->addAttributeToSelect('email')
            ->addAttributeToSelect('created_at')
            ->addAttributeToSelect('group_id')
            ->joinAttribute('billing_postcode', 'customer_address/postcode', 'default_billing', null, 'left')
            ->joinAttribute('billing_city', 'customer_address/city', 'default_billing', null, 'left')
            ->joinAttribute('billing_telephone', 'customer_address/telephone', 'default_billing', null, 'left')
            ->joinAttribute('billing_region', 'customer_address/region', 'default_billing', null, 'left')
            ->joinAttribute('billing_country_id', 'customer_address/country_id', 'default_billing', null, 'left');

А потом если вы хотите взять полное имя включающее имя и фамилию клиента делаем так :
foreach ($user_collection as $_user){
 //  $_user->getName() - полное имя
 //  $_user->getFirstName() - Имя
 //  $_user->getLastName() - Фамилия
}





Поделиться темой: