¿Cómo conoce un objeto de modelo de cliente sobre el método LoadByEmail del recurso modelo?
-
16-10-2019 - |
Pregunta
Considere el siguiente código
$customer_email = "customer@example.com";
$customer = Mage::getModel("customer/customer");
$customer->setWebsiteId(Mage::app()->getWebsite()->getId());
$customer->loadByEmail($customer_email);
Al mirar a través de Mage_Customer_Model_Customer, no pude encontrar un método LoadByEmail en ninguna parte de su cadena de herencia. Luego miré su modelo de recursos, mage_customer_model_resource_customer, y allí estaba.
Mi pregunta es: ¿cómo es posible, que cargue el modelo en sí y obtenga acceso a este método a través de la variable $ customer_email?
Solución
Creo que te perdiste algo. El método loadByEmail
existe en el Mage_Customer_Model_Customer
Clase: Para Magento 1.7.0.2 comienza en la línea 180 y se ve así:
public function loadByEmail($customerEmail)
{
$this->_getResource()->loadByEmail($this, $customerEmail);
return $this;
}
Es solo un envoltorio para Mage_Customer_Model_Resource_Customer::loadByEmail
Pero existe.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a magento.stackexchange