用户可以在此项目中创建项目,其中有很多人员和很多人。 Chapitre可以有很多人员,而多个chapitre中的人员也可以。而且我有一个添加用户之前添加人员的表单。但是不能持久保存在数据库中
在实体Chapitre中,我创建了一个可变人物OneToMany,所以我不知道为什么它不起作用
Chapitre实体
/**
* @ORM\OneToMany(targetEntity="App\Entity\Personnages",
mappedBy="chapitre")
*/
private $personnages;
Chapitre控制器
/**
* @Route("/addChapitre/projet/{idProjet}", name="chapitre_new", methods={"GET","POST"})
* @Entity("projet", expr="repository.find(idProjet)")
*/
public function new(Request $request, Projet $projet): Response
{
$idProjet = $projet->getId();
$chapitre = new Chapitre();
$chapitre->setProjet($projet);
$form = $this->createForm(ChapitreType::class, $chapitre);
$form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid()) {
$entityManager = $this->getDoctrine()->getManager();
$entityManager->persist($chapitre);
$entityManager->flush();
return $this->redirectToRoute('projet_show', [
'id' => $idProjet,
'projet' =>$projet
]);
}
return $this->render('chapitre/new.html.twig', [
'chapitre' => $chapitre,
'form' => $form->createView(),
'projet' => $projet,
]);
}
这种形式很棒,我可以选择人员,但是提交时不会添加到数据库中。而且在我的bdd中,我没有现场工作人员。我的学说纲领很好。
答案 0 :(得分:0)
没关系,我发现了问题,我在ManyToMany中更改了ManyToOne,没关系,beaucoup鬃毛chapitre可以有很多人,其他方向也一样。