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


Symfony 2 forms - pass data to select without data class (no entity)

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

$form = $this->createForm(new OurFormType());

这是 OurFormType 类的生成器方法

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形式中有类似的东西吗?

在 Symfony 2 上查看答案 - 如何将数据传递给 formBuilder? 以便使用构造函数将值传递给 FormType 类。