当我保留数据时,我在使用具有多对多关系的Doctrine时遇到了问题。
我有2个实体: - 集团 - 工作
我使用getJobs()
方法在持久化之前检索我的ID。
$bloc = $form->getData();
// $bloc->getJobs() works I retrieve good IDs with foreach getId()
$em->persist($bloc);
$em->flush();
我的方法addJob:
/**
* Add jobs
*
* @param Job $jobs
* @return Bloc
*/
public function addJob(Job $jobs)
{
$this->jobs[] = $jobs;
return $this;
}
我的表格:
$bloc = $em->getRepository('Acme\\Entity\\Bloc')->find($id);
$form = $this->createForm(BlocType::class, $bloc);
$form->handleRequest();
if($form->isSubmitted()) {
$bloc = $form->getData();
$em->persist($bloc);
$em->flush();
$this->addFlashMessage('edit', "Update message");
}
但坚持在我的作业实体中添加新行,而不是在我的数据库中使用行。
有什么想法吗?
答案 0 :(得分:0)
我猜$jobs
是Collection
的{{1}},因此您应该实现处理此集合的方法。
如果你的实体声明是正确的(oneToMany,ManyToOne,uni / bi direction)你应该有这样的东西:
Job