如何将数组的键放在Symfony的ChoiceType元素中

时间:2017-08-29 09:53:33

标签: php symfony twig

我正在尝试构建一个我将在Twig模板中实现的表单。为此,我使用了一些HTML元素。其中一个是来自Symfony组件的The ChoiceType。我创建了一个传递给add方法的数组。 我的愿望是在值属性中显示键,并在标签中显示数组的每个值,这是我没有做到的事情

protected $lsa_types = array(
    'B' => 'Boolean',
    'D' => 'Date',
    'F' => 'Float',
    'I' => 'Integer',
    'L' => 'List',
    'S' => 'String',
    'T' => 'Text',
);

$form->add('type', ChoiceType::class, array('choices' => $this->lsa_types,
            'choice_label' => function ($value) {
                return $value;
            },
            'choice_value' => function ($key) {
                return $key;
            },
            'required' => true));

1 个答案:

答案 0 :(得分:1)

请@Massimiliano发表评论,但遗漏choice_labelchoice_value& protected $lsa_types = array( 'B' => 'Boolean', 'D' => 'Date', 'F' => 'Float', 'I' => 'Integer', 'L' => 'List', 'S' => 'String', 'T' => 'Text', ); ... $choices = array_flip($this->lsa_types); $form ->add( 'type', ChoiceType::class, array( 'choices' => $choices, 'required' => true ) ) ; 选项:

{{1}}