在我的项目中,外键应隐藏在表单类型中并具有默认值,因此表中的第一个id引用。
在New Action中一切都很好但是在我阻止的更新操作中。
我尝试过像tkis在更新时为我的外键提供默认值但它不起作用,我有一个错误:Expected argument of type "AppBundle\Entity\Cursus", "string" given
public function editAction(Request $request, Etudiant $etud)
{
$deleteForm = $this->createDeleteForm($etud);
$editForm = $this->createForm('AppBundle\Form\EtudiantType', $etud);
$editForm->handleRequest($request);
$first = $this->getDoctrine()->getRepository(Cursus::class)->findOneBy([]);
$etud->setIdcursus($first);
if ($editForm->isSubmitted() && $editForm->isValid()) {
$this->getDoctrine()->getManager()->flush();
return $this->redirectToRoute('etudiant_edit');
}
return $this->render('etudiant/edit.html.twig', array(
'etudiant' => $etud,
'edit_form' => $editForm->createView(),
'delete_form' => $deleteForm->createView(),
));
}
修改
Symfony 3.3.10
表单类型
$builder->add('nom')
->add('prenom')
->add('adresse')
->add('matricule')
->add('domaine')
->add('idcursus', HiddenType::class);
问题
错误在于我的idcursus谁应该隐藏并具有默认值(在cursus实体中的第一个id)。