diff --git a/core/lib/Drupal/Core/Entity/ContentEntityBase.php b/core/lib/Drupal/Core/Entity/ContentEntityBase.php index b4f43db..d56eaaf 100644 --- a/core/lib/Drupal/Core/Entity/ContentEntityBase.php +++ b/core/lib/Drupal/Core/Entity/ContentEntityBase.php @@ -780,7 +780,7 @@ public function &__get($name) { if (isset($this->fields[$name][$this->activeLangcode])) { return $this->fields[$name][$this->activeLangcode]; } - // Inline getFieldDefinition() to speed up things. + // Inline getFieldDefinition() to speed things up. if (!isset($this->fieldDefinitions)) { $this->getFieldDefinitions(); } @@ -802,8 +802,12 @@ public function &__get($name) { * Uses default language always. */ public function __set($name, $value) { + // Inline getFieldDefinition() to speed things up. + if (!isset($this->fieldDefinitions)) { + $this->getFieldDefinitions(); + } // Handle Field API fields. - if ($this->hasField($name)) { + if (isset($this->fieldDefinitions[$name])) { // Support setting values via property objects. if ($value instanceof TypedDataInterface && !$value instanceof EntityInterface) { $value = $value->getValue();