我是symfony的新手,我正在努力学习,但我现在陷入了困境:
我试图创建一个已填充输入的表单,让我解释一下:
我有一个会话表,与抗生素联系(当我创建一个会话时,我选择抗生素),抗生素表链接到结果表。
像这样:Tables
我尝试做的是,当我点击结果列表页面上的有效结果时,它会创建一个新的结果形式,其中抗生素输入已经填充(因为一个会话有一个抗生素)
这就是我现在所拥有的(其中6是来自会话的抗生素ID): Add Results page
我试图查看编辑页面如何工作而没有结果。
由于
/**
* @Route("/session/resultat/{id}", name="addResultat")
*/
public function voirAction($id, Request $request){
//Find the Session object
$em=$this->getDoctrine()->getManager();
$session=$em->getRepository("AppBundle:Session")
->find($id);
if ($session==null)
{
throw new \Symfony\Component\HttpKernel\Exception\NotFoundHttpException("Ouste !");
}
$resultat = new Resultat();
$form = $this->createForm('AppBundle\Form\ResultatType', $resultat);
$form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid()) {
$em = $this->getDoctrine()->getManager();
$em->persist($resultat);
$em->flush();
return $this->redirectToRoute('resultat_show', array('id' => $resultat->getId()));
}
return $this->render('resultat/addresultats.html.twig', array(
'resultat' => $resultat,
'session' => $session,
'form' => $form->createView(),
));
}
由于ccKep,我得到了它的工作:
在创建表单之前设置我的对象,如下所示: 因此,在我初始化我的新结果"之后,我可以设置他的#34; antibiotique"使用setter方法,我使用getter方法从$ session获取它
$resultat->setAntibiotique($session->getAntibiotique());