我在我的 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
控制器的功能中放入同样的东西。
我还需要在 EditAction 和 Update 操作中添加相同的内容
所以这意味着我必须在四个地方重复这一点。
此外,如果我有 4 行计算,$id
那么我必须在四个地方重复所有这些步骤。
最重要的是,当我编辑我的表单时,我的选择没有在我的选择框中预先选择。
然后我必须先设置对象,然后再显示在编辑表单中。
但是,如果我在没有任何这样的查询的情况下使用它
->add('user')
然后它可以毫无问题地工作,也可以使用编辑功能。
难道我做错了什么