Magento中getData和getOrigData的區別
阿新 • • 發佈:2018-10-31
先舉個例子:
$product = Mage::getModel('catalog/product')->load(any product id);
$product->getData('something'); // returns "foo"
$product->setData('something', 'bar');
$product->getData('something'); // returns "bar"
$product->getOrigData('something'); // returns "foo"
- 1
- 2
- 3
- 4
- 5
每個模型(一旦載入)將複製原始載入的資料並將其儲存在
Model_Class::_origData
- 1
屬性中。這使得可以對_beforeSave呼叫進行優化,以便查詢只修改已更改的資料,而不是始終重寫相同的資料。
而且,任何時候你呼叫setData()一個標誌都被設定為模型已經改變了資料。您可以通過呼叫來檢查模型是否改變了資料$model->hasDataChanges()。
getOrigData()物件的方法返回未改變的資料,並按save_before事件呼叫。
getData()物件的方法返回更改後的資料,並按save_after事件呼叫。