Orm Symfony2原则:许多双向关系

Orm Symfony2原则:许多双向关系,orm,symfony,doctrine-orm,many-to-many,Orm,Symfony,Doctrine Orm,Many To Many,在提问之前,我已经搜索了很多,甚至是相关的话题 但仍然没有答案 我有两门课: 类干预扩展用户 { /** *@ManyToMany(targetEntity=“iMDEO\DISAASBundle\Entity\Domaine”,inversedBy=“interferants”,cascade={“persist”,“merge”}) */ 私有$domaines; /** *添加域 * *@param Domaine$domaines */ 公共功能添加域(域$domaines) { $th

在提问之前,我已经搜索了很多,甚至是相关的话题 但仍然没有答案

我有两门课:

类干预扩展用户
{
/**
*@ManyToMany(targetEntity=“iMDEO\DISAASBundle\Entity\Domaine”,inversedBy=“interferants”,cascade={“persist”,“merge”})
*/
私有$domaines;
/**
*添加域
*
*@param Domaine$domaines
*/
公共功能添加域(域$domaines)
{
$this->domaines[]=$domaines;
}
/**
*获得域名
*
*@return-doctor\Common\Collections\Collection
*/
公共函数getDomaines()
{
返回$this->domaines;
}
}
类域
{
// ...
/**
*@ORM\ManyToMany(targetEntity=“Intervenant”,mappedBy=“domaines”,cascade={“persist”,“merge”})
* 
*/
私人干预者;
/**
*添加干预者
*
*@param Intervenant$Intervenant
*/
公共职能额外参与者(参与者$参与者)
{
$interventants->addDomaine($this);
$this->interventants[]=$interventants;
}
/**
*找干预者
*
*@return-doctor\Common\Collections\Collection
*/
公共职能干预者()
{
返回$this->interventants;
}
}
当我保存一个
干预对象时,一切都正常。
但是当我保存反向的
Domaine
时,更改不会持久化

阅读Symfony的文档和所有主题,我找不到任何解决方案来获得我的两个实体之间的双向关系

这是我的
域控制器的一部分:

$em=$this->getDoctrine()->getEntityManager();
$entity=$em->getRepository('myBundle:Domaine')->find($id);
if(!$entity){
抛出$this->createNotFoundException('无法找到域实体');
}
$editForm=$this->createForm(新域类型(),$entity);
$deleteForm=$this->createDeleteForm($id);
$request=$this->getRequest();
$editForm->bindRequest($request);
如果($editForm->isValid()){
$em->persist($entity);
$em->flush();
返回$this->indexAction();
}
// ...
我的目的是,当我创建/编辑一个
干预对象时,我可以选择相关的
。 当我创建/编辑一个
Domaine
时,我链接其中的每个
介入者


您能帮助我吗?

minor:您不需要执行$em->PERSISTE($entity),此时entity是可管理的。如果在$editForm->isValid()之后使用var_dump($entity),您是否看到所有关系都正确更新了?是的,在$editForm->isValid()之后,实体的集合是正确的。indexAction()上的实体甚至可以正确显示,但如果我刷新页面或查看数据库,则不会保存任何内容。我也遇到了同样的问题。史蒂夫,你找到解决办法了吗?谢谢