From 96dbe76010a8aead1f96fafe965ce79bec1b1310 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicolas=20de=20Marqu=C3=A9?= Date: Wed, 2 Jun 2021 01:07:27 +0200 Subject: [PATCH] fix(serializer): collection denormalization from object linked to doctrine entities --- src/Serializer/ItemNormalizer.php | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/Serializer/ItemNormalizer.php b/src/Serializer/ItemNormalizer.php index 293b7955766..a4a2ede6559 100644 --- a/src/Serializer/ItemNormalizer.php +++ b/src/Serializer/ItemNormalizer.php @@ -51,6 +51,12 @@ public function __construct(PropertyNameCollectionFactoryInterface $propertyName */ public function denormalize($data, $class, $format = null, array $context = []) { + if (null === $objectToPopulate = $this->extractObjectToPopulate($class, $context, static::OBJECT_TO_POPULATE)) { + $normalizedData = $this->prepareForDenormalization($data); + $class = $this->getClassDiscriminatorResolvedClass($normalizedData, $class); + } + $resourceClass = $this->resourceClassResolver->getResourceClass($objectToPopulate, $class); + $context['resource_class'] = $resourceClass; // Avoid issues with proxies if we populated the object if (isset($data['id']) && !isset($context[self::OBJECT_TO_POPULATE])) { if (isset($context['api_allow_update']) && true !== $context['api_allow_update']) {