diff --git a/core/lib/Drupal/Core/Field/Plugin/Field/FieldType/EntityReferenceItem.php b/core/lib/Drupal/Core/Field/Plugin/Field/FieldType/EntityReferenceItem.php index e429b05..5872fbc 100644 --- a/core/lib/Drupal/Core/Field/Plugin/Field/FieldType/EntityReferenceItem.php +++ b/core/lib/Drupal/Core/Field/Plugin/Field/FieldType/EntityReferenceItem.php @@ -295,6 +295,7 @@ public static function calculateDependencies(FieldDefinitionInterface $field_def */ public function __get($name) { $value = parent::__get($name); + // The NEW_ENTITY_MARKER is an implementation detail, don't return that. if ($name == 'target_id' && $value == static::$NEW_ENTITY_MARKER) { return NULL; } @@ -305,7 +306,8 @@ public function __get($name) { * Returns the target id, even if the value is static::$NEW_ENTITY_MARKER. */ protected function getTargetId() { - return $this->get('target_id')->getValue(); + // Bypass self::__get which does not return static::$NEW_ENTITY_MARKER. + return parent::__get('target_id'); } }