From 40cd423236c1e3539428f84282ab7b3e3ec8962e Mon Sep 17 00:00:00 2001 From: wdammak <26695620+wdammak@users.noreply.github.com> Date: Tue, 29 Sep 2020 17:47:19 +0200 Subject: [PATCH] Update Adapter_EntityMapper.php Fix for PHP7.4 --- Adapter/Adapter_EntityMapper.php | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/Adapter/Adapter_EntityMapper.php b/Adapter/Adapter_EntityMapper.php index a164c1579..e489cf13f 100644 --- a/Adapter/Adapter_EntityMapper.php +++ b/Adapter/Adapter_EntityMapper.php @@ -59,6 +59,7 @@ public function load($id, $id_lang, $entity, $entity_defs, $id_shop, $should_cac } if ($object_datas = Db::getInstance()->getRow($sql)) { + $objectVars = get_object_vars($entity); if (!$id_lang && isset($entity_defs['multilang']) && $entity_defs['multilang']) { $sql = 'SELECT * FROM `' . bqSQL(_DB_PREFIX_ . $entity_defs['table']) . '_lang` @@ -68,7 +69,7 @@ public function load($id, $id_lang, $entity, $entity_defs, $id_shop, $should_cac if ($object_datas_lang = Db::getInstance()->executeS($sql)) { foreach ($object_datas_lang as $row) { foreach ($row as $key => $value) { - if ($key != $entity_defs['primary'] && array_key_exists($key, $entity)) { + if ($key != $entity_defs['primary'] && array_key_exists($key, $objectVars)) { if (!isset($object_datas[$key]) || !is_array($object_datas[$key])) { $object_datas[$key] = array(); } @@ -81,7 +82,9 @@ public function load($id, $id_lang, $entity, $entity_defs, $id_shop, $should_cac } $entity->id = (int)$id; foreach ($object_datas as $key => $value) { - if (array_key_exists($key, $entity)) { + //if (array_key_exists($key, $entity)) { + if (array_key_exists($key, $entity_defs['fields']) + || array_key_exists($key, $objectVars)) { $entity->{$key} = $value; } else { unset($object_datas[$key]);