Symfony documentation表示你应该像这样使用ChoiceType:
use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
$builder->add('isAttending', ChoiceType::class, array(
'choices' => array(
'Maybe' => null,
'Yes' => true,
'No' => false,
),
));
但是,由于我的价值观很简单,就像键一样,我想做这样的事情:
use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
$builder->add('titre', ChoiceType::class, array(
'choice_value' => array(
'Pr', 'Dr', 'Mr', 'Mrs'
),
))
我怎样才能做到这一点?
如果我不能,背后的理由是什么?
答案 0 :(得分:1)
您可以尝试使用array_combine创建相同的键/值数组:
use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
$choices = array('Pr', 'Dr', 'Mr', 'Mrs');
$builder->add('isAttending', ChoiceType::class, array(
'choices' => array_combine($choices, $choices),
));
答案 1 :(得分:1)
$builder->add('isAttending', ChoiceType::class, array(
'choices' => array('Pr', 'Dr', 'Mr', 'Mrs'),
'choice_label' => function ($value) { return $value; },
));