Browse Source

[Form] Replace unset() with non-destructive logic in case the "choices" option is an object.

Jeremy Mikola 15 years ago
parent
commit
6fc9b68fa7
1 changed files with 3 additions and 2 deletions
  1. 3 2
      src/Symfony/Component/Form/ChoiceField.php

+ 3 - 2
src/Symfony/Component/Form/ChoiceField.php

@@ -43,11 +43,12 @@ class ChoiceField extends HybridField
 
             foreach ($this->getOption('preferred_choices') as $choice) {
                 $this->add($this->newChoiceField($choice, $choices[$choice]));
-                unset($choices[$choice]);
             }
 
             foreach ($this->getOption('choices') as $choice => $value) {
-                $this->add($this->newChoiceField($choice, $value));
+                if (!isset($this->preferredChoices[$choice])) {
+                    $this->add($this->newChoiceField($choice, $value));
+                }
             }
         } else {
             $this->setFieldMode(self::FIELD);