【发布时间】:2021-04-16 00:10:48
【问题描述】:
我一直在尝试不同的方法来从 twig 获取实体属性并在控制器中使用它们来插入另一个数据库表。 这里的想法是将树枝表的属性作为已经存在的数据库变量获取,然后在单击按钮时将它们插入到另一个表中,这似乎对我不起作用,在尝试了几种方法后,我发现自己陷入了无法识别的学说中我在控制器中作为参数传递的属性,我非常感谢这里的一些帮助,因为不知何故它不再有意义了。 这是我从 html 表中发送参数 ID 的树枝:
<a href="{{ path ('addConte',{'$id':contes.idconte}) }}">Ajouter</a>
这是应该使用该参数的函数,以便使用具有该 ID 的实体实例填充另一个表,实际上我创建了 2 个应该做同样事情的函数,但它们都不起作用,而是返回相同的原则异常, 这是第一个功能:
/**
* @Route("/ajout/{$id}", name="ajouter")
* @param Contes $id
* @return RedirectResponse|Response
*/
public function ajouter(Contes $id)
{
$lstContes1 = new Inventairecontes();
$em1 = $this->getDoctrine()->getRepository('App:Contes')->find($id);
$lstContes1->setTitrec($em1.titre);
$lstContes1->setAuteurc($em1.auteur);
$em = $this->getDoctrine()->getManager();
$em->persist($lstContes1);
$em->flush();
return new Response('Conte ajouté avec succées!');
}
这是在插入数据库之前应该填充表单的第二个函数:
/**
* @Route ("/add/{$id}", name="addConte")
* @paramConverter ("idCc", options={"mapping":{"id":"idc"}})
* @return Response
*/
public function add(Contes $idCc, Request $request)
{
$em = $this->getDoctrine()->getRepository('App:Contes')->find($idCc);
$form = $this->createForm(Inventairecontes::class,$em);
$form->handleRequest($request);
if ($form -> isSubmitted() && $form->isValid()){
$this->getDoctrine()->getManager()->flush();
return $this->redirectToRoute('listeContes');
}
return $this->render('liste_contes/add.html.twig',[
'em'=>$em,
'form'=>$form->createView()
]);
}
我真的希望有人可以提供一些帮助,并提前谢谢你:)
【问题讨论】:
标签: php database symfony doctrine twig