这是我的表单主要功能:
/**
* @param FormBuilderInterface $builder
* @param array $options
*/
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('naam', 'text', array(
'label' => "Naam",
'attr' => array(
'placeholder' => "Vul hier een functionele omschrijving in van de deltaload",
)
))
->add('tabel', 'choice', array(
'empty_value' => 'Kies een tabel',
'choices' => $this->loadChoiceList()->getChoices()
))
;
}
这是 loadChoiceList() 函数:
protected function loadChoiceList()
{
$array = array(
'Preview' => 'Preview',
'Hidden' => 'Hidden',
'Live' => 'Live'
);
$choices = new SimpleChoiceList($array);
return $choices;
}
查看此表单时,我可以选择三个已定义的选项之一。但是在将其保存到数据库时,它会根据选择保存 0、1 或 2。
我怎样才能让它保存值而不是键?
我也尝试了 ChoiceList() 类,但结果没有任何区别。
作为记录,我意识到这不是标准化的数据库设计,但这是用简化示例解释我的问题的简化方式。