@@ -417,9 +417,7 @@ public function save(\Magento\Framework\Model\AbstractModel $object)
417
417
* Not auto increment primary key support
418
418
*/
419
419
if ($ this ->_isPkAutoIncrement ) {
420
- $ data = $ this ->_prepareDataForSave ($ object );
421
- unset($ data [$ this ->getIdFieldName ()]);
422
- $ data = $ this ->prepareDataForUpdate ($ data , $ object ->getStoredData ());
420
+ $ data = $ this ->prepareDataForUpdate ($ object );
423
421
if (!empty ($ data )) {
424
422
$ this ->_getWriteAdapter ()->update ($ this ->getMainTable (), $ data , $ condition );
425
423
}
@@ -431,9 +429,7 @@ public function save(\Magento\Framework\Model\AbstractModel $object)
431
429
$ condition
432
430
);
433
431
if ($ this ->_getWriteAdapter ()->fetchOne ($ select ) !== false ) {
434
- $ data = $ this ->_prepareDataForSave ($ object );
435
- unset($ data [$ this ->getIdFieldName ()]);
436
- $ data = $ this ->prepareDataForUpdate ($ data , $ object ->getStoredData ());
432
+ $ data = $ this ->prepareDataForUpdate ($ object );
437
433
if (!empty ($ data )) {
438
434
$ this ->_getWriteAdapter ()->update ($ this ->getMainTable (), $ data , $ condition );
439
435
}
@@ -778,17 +774,20 @@ public function getChecksum($table)
778
774
/**
779
775
* Get the array of data fields that was changed or added
780
776
*
781
- * @param array $data
782
- * @param array $storedData
777
+ * @param \Magento\Framework\Model\AbstractModel $object
783
778
* @return array
784
779
*/
785
- protected function prepareDataForUpdate ($ data , $ storedData )
780
+ protected function prepareDataForUpdate ($ object )
786
781
{
787
- foreach ($ storedData as $ key => $ value ) {
782
+ $ data = $ this ->_prepareDataForSave ($ object );
783
+ unset($ data [$ this ->getIdFieldName ()]);
784
+
785
+ foreach ($ object ->getStoredData () as $ key => $ value ) {
788
786
if (array_key_exists ($ key , $ data ) && $ data [$ key ] == $ value ) {
789
787
unset($ data [$ key ]);
790
788
}
791
789
}
790
+
792
791
return $ data ;
793
792
}
794
793
}
0 commit comments