diff --git a/core/lib/Drupal/Core/Entity/EntityManager.php b/core/lib/Drupal/Core/Entity/EntityManager.php index 019a3f9..467448c 100644 --- a/core/lib/Drupal/Core/Entity/EntityManager.php +++ b/core/lib/Drupal/Core/Entity/EntityManager.php @@ -656,7 +656,7 @@ public function getFieldMap() { // Add per-bundle field definitions based on the stored field bundle // map. - $entity_field_bundle_map = \Drupal::state()->get('entity_field_bundle_map'); + $entity_field_bundle_map = \Drupal::state()->get('entity_field_bundle_map', []); foreach ($entity_field_bundle_map as $entity_type_id => $field_bundle_map) { foreach ($field_bundle_map as $field_name => $field_bundles_type) { if (!isset($this->fieldMap[$entity_type_id][$field_name])) { @@ -704,6 +704,7 @@ public function onFieldDefinitionCreate(FieldDefinitionInterface $field_definiti $entity_field_bundle_map[$field_definition->getTargetEntityTypeId()][$field_definition->getName()]['bundles'][] = $field_definition->getTargetBundle(); \Drupal::state()->set('entity_field_bundle_map', $entity_field_bundle_map); $this->cacheBackend->delete('entity_field_map'); + $this->fieldMap = []; } /** diff --git a/core/modules/field/src/Entity/FieldConfig.php b/core/modules/field/src/Entity/FieldConfig.php index 341d4b7..ea53380 100644 --- a/core/modules/field/src/Entity/FieldConfig.php +++ b/core/modules/field/src/Entity/FieldConfig.php @@ -170,6 +170,7 @@ public function preSave(EntityStorageInterface $storage) { * {@inheritdoc} */ public function postSave(EntityStorageInterface $storage, $update = TRUE) { + parent::postSave($storage, $update); if (!$update) { $this->entityManager()->onFieldDefinitionCreate($this); }