FormType でこれを使用しています
->add('Task', 'entity', array(
'class' => 'Task',
'query_builder' => function(EntityRepository $er) use ($options) {
return $er->createQueryBuilder('t')
->where('t.id = :id')
->setParameter('id',$options['id'])
それが機能するためには、コントローラーのフォームタイプにIDを渡す必要があります
$form = $this->createForm(new TaskType(), $task,array('id' => $id));
これで、すべてのオプションでフォームが正常に表示されます。newAction
しかし、同じことを controller の機能にも入れる必要があることを忘れていました。
また、 EditAction と Update アクションにも同じものを入れる必要があります
つまり、それを 4 か所で繰り返さなければならないということです。
また、 を計算する 4 つの行がある場合は、$id
これらすべての手順を 4 つの場所で繰り返す必要があります。
その上、フォームを編集すると、選択ボックスで選択が事前に選択されません。
次に、編集フォームに表示する前に、最初にオブジェクトを設定する必要がありました。
しかし、このようなクエリなしでこれを使用すると
->add('user')
その後、編集機能も問題なく動作します。
私は何か間違ったことをしていますか