首页 文章

Symfony 2表单 - 传递数据以选择没有数据类(没有实体)

提问于
浏览
2

假设我们的控制器中有表单:

$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,根本没有使用任何实体 . 我们可以使用其他方式将数据传递给表单 . 我们感兴趣的是 list 字段,它有 choice 类型 . 此类型用于在symfony 2表单上创建选择列表 .

在这里我们来完成任务 . 并且任务是用控制器中的数据填充 list . 假设它是关联数组 . 所以我们可以提供修改后的控制器动作:

$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表格中有类似的东西吗?

1 回答

相关问题