2

コントローラーにフォームがあるとします。

$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フォームにそのようなものはありますか?

4

1 に答える 1