Symfony 2.2 Формы: числовое значение в опции FieldType

0

Я хотел бы реализовать окно выбора, в котором пользователь может выбрать группу поддержки, с которой он хочет связаться. Каждая команда имеет свой номер, и эти цифры не являются последовательными числами.

Поэтому я добавляю этот массив в поле выбора:

array('1' => 'Team A', '123' => 'Team B')

Но окно выбора говорит сейчас:

<select [...]>
<option value="0">Team A</option>
<option value="1">Team B</option>
</select>

{{dump (options)}} в {% block choice_widget_options%} показывает мне это:

array(2) {   
    [0] =>   class Symfony\Component\Form\Extension\Core\View\ChoiceView#1538 (3) {     public $data =>     int(0)     public $value =>     string(1) "0"     public $label =>     string(17) "Team A"   }
    [1] =>   class Symfony\Component\Form\Extension\Core\View\ChoiceView#1539 (3) {     public $data =>     int(1)     public $value =>     string(1) "1"     public $label =>     string(19) "Team B"   

}   

Кто-нибудь знает, как я могу это исправить?

  • 0
    PS: проблема в том, что значения теперь 0 и 1 вместо 1 и 123 :)
  • 0
    Не могли бы вы вставить класс formType этого
Показать ещё 1 комментарий
Теги:
select
forms
option

2 ответа

1

ну вы добавили ключи как строки

array('1' => 'Team A', '123' => 'Team B')

изменить на

array(1 => 'Team A', 123 => 'Team B')
  • 0
    Это не решает проблему. Это может привести к путанице, если это произойдет, потому что вы также можете установить строковые значения als ('f' => 'female'): symfony.com/doc/2.2/reference/forms/types/choice.html
0

Хорошо, ребята, я нашел проблему :)

Я использую "array_shift ($ choice)"; затем удалить первую группу (значение по умолчанию) из массива. Это изменяет ключи на 0,1,2,3,4 и так далее.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню