我是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
?
答案 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;
}