假设我们的控制器中有表单:
$form = $this->createForm(new OurFormType());
这是OurFormType类的builder方法
public function buildForm(FormBuilderInterface $builder, array $options) {
$builder
->add('list','choice')
->add('agency','text')
->add('type','hidden');
}
我们没有 data_class,根本没有使用实体。我们可以使用其他方式将数据传递给表单。我们感兴趣的是列表字段,它有选择类型。此类型用于在 symfony 2 表单上创建选择列表。
在这里,我们来到了任务。任务是用进入控制器的数据填充该列表。假设它是关联数组。所以我们可以提供我们修改后的控制器动作:
$listData = array('key1'=>'val1', 'key2' => 'val2');
$form = $this->createForm(new OurFormType());
return $this->render('UMDOurBundle:Test:index.html.twig',
array(
'form' => $form->createView()
));
在将对象传递给 $form 变量之后,我需要将该数组插入到控制器中的列表字段中。就像是
$form->get('list',array('choices'=>$listData));
在 symfony 2 形式中有类似的东西吗?