diff --git a/app/code/Magento/Eav/Model/Entity/VersionControl/Metadata.php b/app/code/Magento/Eav/Model/Entity/VersionControl/Metadata.php index 21078e881b44a8cbb92cde25876e1170dcd1f219..c628f450b7a18a2197c24756bec82c0a6801e8c0 100644 --- a/app/code/Magento/Eav/Model/Entity/VersionControl/Metadata.php +++ b/app/code/Magento/Eav/Model/Entity/VersionControl/Metadata.php @@ -18,7 +18,8 @@ class Metadata extends \Magento\Framework\Model\Resource\Db\VersionControl\Metad */ public function getFields(\Magento\Framework\Object $entity) { - if (!isset($this->metadataInfo[get_class($entity)])) { + $entityClass = get_class($entity); + if (!isset($this->metadataInfo[$entityClass])) { $fields = $entity->getResource()->getReadConnection()->describeTable( $entity->getResource()->getEntityTable() ); @@ -30,9 +31,9 @@ class Metadata extends \Magento\Framework\Model\Resource\Db\VersionControl\Metad null ); - $this->metadataInfo[get_class($entity)] = $fields; + $this->metadataInfo[$entityClass] = $fields; } - return $this->metadataInfo[get_class($entity)]; + return $this->metadataInfo[$entityClass]; } } diff --git a/lib/internal/Magento/Framework/Model/Resource/Db/VersionControl/Metadata.php b/lib/internal/Magento/Framework/Model/Resource/Db/VersionControl/Metadata.php index 3870ca75f4528f2081972b3ef47d4cedf7dba386..b761d22717f2f0ecb5fe99f5b3c15e43405f58c4 100644 --- a/lib/internal/Magento/Framework/Model/Resource/Db/VersionControl/Metadata.php +++ b/lib/internal/Magento/Framework/Model/Resource/Db/VersionControl/Metadata.php @@ -24,8 +24,9 @@ class Metadata */ public function getFields(\Magento\Framework\Object $entity) { - if (!isset($this->metadataInfo[get_class($entity)])) { - $this->metadataInfo[get_class($entity)] = + $entityClass = get_class($entity); + if (!isset($this->metadataInfo[$entityClass])) { + $this->metadataInfo[$entityClass] = array_fill_keys( array_keys( $entity->getResource()->getReadConnection()->describeTable( @@ -35,6 +36,6 @@ class Metadata null ); } - return $this->metadataInfo[get_class($entity)]; + return $this->metadataInfo[$entityClass]; } } diff --git a/lib/internal/Magento/Framework/Model/Resource/Db/VersionControl/Snapshot.php b/lib/internal/Magento/Framework/Model/Resource/Db/VersionControl/Snapshot.php index 113c468672ac20523a9efd14d7473dbe411244cb..dc837426020a4361561a6a5d013367bb1f0e659f 100644 --- a/lib/internal/Magento/Framework/Model/Resource/Db/VersionControl/Snapshot.php +++ b/lib/internal/Magento/Framework/Model/Resource/Db/VersionControl/Snapshot.php @@ -60,10 +60,11 @@ class Snapshot return true; } - if (!isset($this->snapshotData[get_class($entity)][$entity->getId()])) { + $entityClass = get_class($entity); + if (!isset($this->snapshotData[$entityClass][$entity->getId()])) { return true; } - foreach ($this->snapshotData[get_class($entity)][$entity->getId()] as $field => $value) { + foreach ($this->snapshotData[$entityClass][$entity->getId()] as $field => $value) { if ($entity->getDataByKey($field) != $value) { return true; }