diff --git a/core/lib/Drupal/Core/Entity/DatabaseStorageController.php b/core/lib/Drupal/Core/Entity/DatabaseStorageController.php index df83610..b07a0e9 100644 --- a/core/lib/Drupal/Core/Entity/DatabaseStorageController.php +++ b/core/lib/Drupal/Core/Entity/DatabaseStorageController.php @@ -648,7 +648,8 @@ protected function doSaveFieldItems(EntityInterface $entity, $update) { $query = $this->database->insert($table_name)->fields($columns); $revision_query = $this->database->insert($revision_name)->fields($columns); - foreach ($entity->getTranslationLanguages() as $langcode => $language) { + $langcodes = $field['translatable'] ? array_keys($entity->getTranslationLanguages()) : array(Language::LANGCODE_NOT_SPECIFIED); + foreach ($langcodes as $langcode) { $items = $entity->getTranslation($langcode)->{$field_name}->getValue(); if (!isset($items)) { continue; @@ -662,7 +663,7 @@ protected function doSaveFieldItems(EntityInterface $entity, $update) { 'revision_id' => $vid, 'bundle' => $bundle, 'delta' => $delta, - 'langcode' => $field['translatable'] ? $langcode : Language::LANGCODE_NOT_SPECIFIED, + 'langcode' => $langcode, ); foreach ($field['columns'] as $column => $attributes) { $column_name = static::_fieldColumnName($field, $column);