Symfony2 - 获取表单值,而不是键

时间:2016-01-16 14:01:30

标签: php symfony

我是Symfony2(版本2.7)的新手,我正试图从提交的表单中获取值。使用Result,我得到与列表中所选值对应的索引。

例如,假设$ test是一个数组:

$form->getData()

然后,如果我选择$form = $this->createFormBuilder($test) ->add('abc', 'choice', array('choices' => array( '0' => 'option1', '1' => 'option2', '2' => 'option3' ))) ->getForm(); $form->handleRequest($request); if ($form->isValid()) { $data = ($form->getData()); } $data将为1。 我也尝试将option2设置为true,但后来我在下拉列表中得到了数组索引。

如何让choices_as_values等于$data

,我该怎么办?

1 个答案:

答案 0 :(得分:1)

$values = array('option1', 'option2', 'option3');

$form = $this->createFormBuilder($test)
->add('abc', 'choice', array('choices' => $values))
->getForm();

$form->handleRequest($request);

if ($form->isValid()) {
    $data = $form['abc']->getData();

    //returns option1 if option1 is selected etc..
    $choice = $values[$data];

    //returns choice value
    $choice = $data;
}