【问题标题】:Symfony 2 forms - pass data to select without data class (no entity)Symfony 2 表单 - 传递数据以选择没有数据类(无实体)
【发布时间】:2013-09-08 20:47:39
【问题描述】:

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

$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 表单上创建选择列表。

我们来了。任务是用进入控制器的数据填充该列表。假设它是关联数组。所以我们可以提供我们修改后的控制器动作:

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

【问题讨论】:

    标签: php symfony symfony-forms


    【解决方案1】:

    查看Symfony 2 - how to pass data to formBuilder? 上的答案,了解使用构造函数将值传递给 FormType 类的技术。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-29
      • 1970-01-01
      • 1970-01-01
      • 2023-04-01
      • 2018-03-04
      相关资源
      最近更新 更多