¿Cómo conoce un objeto de modelo de cliente sobre el método LoadByEmail del recurso modelo?

magento.stackexchange https://magento.stackexchange.com/questions/11326

  •  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?

¿Fue útil?

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
scroll top