From cd31781181b189e53593bc6f2ac7d4f198a3f2a4 Mon Sep 17 00:00:00 2001 From: Michael Ehrlein Date: Thu, 20 Jul 2023 10:54:22 +0200 Subject: [PATCH 1/2] Fix for: Regression in validator #50780 --- src/Symfony/Component/Validator/Mapping/ClassMetadata.php | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/Symfony/Component/Validator/Mapping/ClassMetadata.php b/src/Symfony/Component/Validator/Mapping/ClassMetadata.php index 17f58466ce9a8..58ceda6583d68 100644 --- a/src/Symfony/Component/Validator/Mapping/ClassMetadata.php +++ b/src/Symfony/Component/Validator/Mapping/ClassMetadata.php @@ -346,17 +346,15 @@ public function mergeConstraints(self $source) $constraint->addImplicitGroupName($this->getDefaultGroup()); } + $this->addPropertyMetadata($member); + if ($member instanceof MemberMetadata && !$member->isPrivate($this->name)) { $property = $member->getPropertyName(); - $this->members[$property] = [$member]; - if ($member instanceof PropertyMetadata) { $this->properties[$property] = $member; } elseif ($member instanceof GetterMetadata) { $this->getters[$property] = $member; } - } else { - $this->addPropertyMetadata($member); } } } From 97714d50c206ac4ab78bbb6a456c592c2fbf2975 Mon Sep 17 00:00:00 2001 From: Michael Ehrlein Date: Thu, 20 Jul 2023 11:55:18 +0200 Subject: [PATCH 2/2] Fix for: Regression in validator #50780 --- src/Symfony/Component/Validator/Mapping/ClassMetadata.php | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/Symfony/Component/Validator/Mapping/ClassMetadata.php b/src/Symfony/Component/Validator/Mapping/ClassMetadata.php index 58ceda6583d68..3622035ab3bb7 100644 --- a/src/Symfony/Component/Validator/Mapping/ClassMetadata.php +++ b/src/Symfony/Component/Validator/Mapping/ClassMetadata.php @@ -458,8 +458,7 @@ public function getCascadingStrategy(): int private function addPropertyMetadata(PropertyMetadataInterface $metadata): void { $property = $metadata->getPropertyName(); - - $this->members[$property][] = $metadata; + $this->members[$property][spl_object_id($metadata)] = $metadata; } private function checkConstraint(Constraint $constraint): void