diff --git a/core/modules/hal/lib/Drupal/hal/Normalizer/EntityNormalizer.php b/core/modules/hal/lib/Drupal/hal/Normalizer/EntityNormalizer.php index 08ca067..8fbcffc 100644 --- a/core/modules/hal/lib/Drupal/hal/Normalizer/EntityNormalizer.php +++ b/core/modules/hal/lib/Drupal/hal/Normalizer/EntityNormalizer.php @@ -110,6 +110,8 @@ public function denormalize($data, $class, $format = NULL, array $context = arra // Figure out the language to use. if (isset($data['langcode'])) { $langcode = $data['langcode'][0]['value']; + // Remove the langcode so it does not get iterated over below. + unset($data['langcode']); } elseif (\Drupal::moduleHandler()->moduleExists('language')) { $langcode = language_get_default_langcode($typed_data_ids['entity_type'], $typed_data_ids['bundle']); @@ -118,8 +120,6 @@ public function denormalize($data, $class, $format = NULL, array $context = arra $langcode = Language::LANGCODE_NOT_SPECIFIED; } - unset($data['langcode']); - $entity = entity_create($typed_data_ids['entity_type'], array('langcode' => $langcode, 'type' => $typed_data_ids['bundle'])); // Special handling for PATCH: destroy all possible default values that