проблема loadByEmail и метода загрузки в Magento в модели клиента
Я получаю ошибку, когда я пытаюсь использовать метод get Entity Id (getEntityId ()) в объекте модели клиента/клиента.
пожалуйста, проверьте код моего ниже.
Я хочу использовать код ниже по. Но это показывает ошибку.
$customer = Mage::getModel("customer/customer");
$customer->setWebsiteId(Mage::app()->getWebsite()->getId());
$customer->loadByEmail('email@example.com'); //load customer by email id
в то время как код bellow работает нормально. с getEntityId()
$id=3;
$customer = Mage::getModel('customer/customer')->load($id);
поэтому, пожалуйста, дайте решение для метода loadByEmail ().
4 ответов
неправильный код сайта магазина, он должен быть!--1-->
здесь изменен код
$customer = Mage::getModel("customer/customer");
$customer->setWebsiteId(Mage::app()->getStore()->getWebsiteId());
$customer->loadByEmail('email@example.com')
наконец, я нашел решение для своей проблемы.
$customer = Mage::getModel("customer/customer");
$customer->setWebsiteId(Mage::app()->getWebsite('admin')->getId());
$customer->loadByEmail($email);
это дубликат
получить информацию о клиенте по email id в magento
ваш код верен, но Mage::app()->getWebsite()->getId()
возвращает 0, который не соответствует.
Если вы, например, использовать следующее:
$customer->setWebsiteId(1);
вы, скорее всего, заметите, что клиент теперь загружает. Причина в том, что учетные записи клиентов совместно используются веб-сайтом. Вы можете прочитать вышеупомянутый пост для получения дополнительной информации.
другое возможное решение-это набор:
$customerExist = Mage::getModel('customer/customer')
->getCollection()
->addAttributeToSelect('*')
->addAttributeToFilter('email', $email )
->getFirstItem();