From d6163a8ac2435d4a204be4a057a09b41b10bfbcf Mon Sep 17 00:00:00 2001 From: Daan van Renterghem Date: Thu, 21 Nov 2013 10:30:43 +0100 Subject: [PATCH] Fix for cache-key conflict when having a \Traversable as choices --- src/Symfony/Bridge/Doctrine/Form/Type/DoctrineType.php | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/Symfony/Bridge/Doctrine/Form/Type/DoctrineType.php b/src/Symfony/Bridge/Doctrine/Form/Type/DoctrineType.php index f07f1af3c011..ca886d691fbe 100644 --- a/src/Symfony/Bridge/Doctrine/Form/Type/DoctrineType.php +++ b/src/Symfony/Bridge/Doctrine/Form/Type/DoctrineType.php @@ -89,6 +89,13 @@ public function setDefaultOptions(OptionsResolverInterface $resolver) array_walk_recursive($choiceHashes, function (&$value) { $value = spl_object_hash($value); }); + } elseif ($choiceHashes instanceof \Traversable) { + $hashes = array(); + foreach ($choiceHashes as $value) { + $hashes[] = spl_object_hash($value); + } + + $choiceHashes = $hashes; } $preferredChoiceHashes = $options['preferred_choices'];