8000 merged branch jmikola/doctrine-unique-proxies (PR #3933) · jeremymarc/symfony@8e59a4e · GitHub
[go: up one dir, main page]

Skip to content

Commit 8e59a4e

Browse files
committed
merged branch jmikola/doctrine-unique-proxies (PR symfony#3933)
Commits ------- 41bdf26 [DoctrineBridge] Initialize proxies in UniqueEntityValidator Discussion ---------- [DoctrineBridge] Initialize proxies in UniqueEntityValidator Bug fix: yes Feature addition: no Backwards compatibility break: no Symfony2 tests pass: [![Build Status](https://secure.travis-ci.org/jmikola/symfony.png?branch=master)](http://travis-ci.org/jmikola/symfony) Fixes the following tickets: symfony#3163 --------------------------------------------------------------------------- by stof at 2012-04-13T18:17:57Z I think you should use ``$em->initializeObject($value)`` instead (which is a no-op for other objects) --------------------------------------------------------------------------- by jmikola at 2012-04-13T18:24:22Z @stof: Thanks for the suggestion. I wasn't aware of that method.
2 parents 22177fa + 41bdf26 commit 8e59a4e

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

src/Symfony/Bridge/Doctrine/Validator/Constraints/UniqueEntityValidator.php

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,12 @@ public function isValid($entity, Constraint $constraint)
7878
}
7979

8080
if ($class->hasAssociation($fieldName)) {
81+
/* Ensure the Proxy is initialized before using reflection to
82+
* read its identifiers. This is necessary because the wrapped
83+
* getter methods in the Proxy are being bypassed.
84+
*/
85+
$em->initializeObject($criteria[$fieldName]);
86+
8187
$relatedClass = $em->getClassMetadata($class->getAssociationTargetClass($fieldName));
8288
$relatedId = $relatedClass->getIdentifierValues($criteria[$fieldName]);
8389

0 commit comments

Comments
 (0)
0