Hay dos métodos que recuperan datos del modelo.
$model->getData();
$model->getOrigData();
¿Alguien puede explicar cuál es la diferencia entre ellos? Cualquier ayuda será apreciada.
magento-1.7
model
Sukeshini
fuente
fuente

Respuestas:
getOrigData()devuelve los datos en el objeto en el momento en que se inicializó / rellenó.Después de inicializar el modelo, puede actualizar esos datos y
getData()devolverá lo que tiene actualmente en ese objeto.Eche un vistazo a
Varien_Object(getOrigData,setOrigData),grep -R "origData" app/para que pueda echar un vistazo a lo que se usa.En EE, es muy útil registrar el módulo que ha cambiado ( Enterprise_Logging ).
fuente
Esto se explica más fácilmente con un ejemplo:
En pocas palabras, cada modelo (una vez cargado) hará una copia de los datos cargados originalmente y los almacenará en la
Model_Class::_origDatapropiedad. Esto permite realizar optimizaciones para las_beforeSavellamadas, de modo que las consultas solo modifiquen los datos modificados y no reescriban los mismos datos todo el tiempo.Además, cada vez que llame a
setData()un indicador, se establece que el modelo ha cambiado los datos. Puede verificar si un modelo ha cambiado los datos llamando$model->hasDataChanges().fuente