我有两个实体之间的多对多关系。让我们称之为 User
And Group
。
我已经决定在创建/更新界面上,因为它们可以关联,您可以直接将用户从组表单或组从用户表单关联起来。请注意,关系的拥有方是User
现在问题来了。如果我从用户表单界面关联组,一切都很好并且工作完美(教义寻找拥有方的变化)。如果我尝试User
从组表单界面关联,则没有任何效果。
显然,我完全知道我必须将用户“添加”到组对象中,并将组(this)添加到我从表单传递的每个用户对象中。事实上这是我的代码片段到Group
实体
public function setUsers(\Doctrine\Common\Collections\ArrayCollection $utente)
{
/* snippet of code for removing old association , didn't reported */
foreach($utente as $u){
$this->users[] = $u;
$u->addGroups($this);
}
}
进入创作形式这个片段做好他的工作。进入更新,它没有。
所以我想这一定是一首奏鸣曲问题,或者是我目前错过的东西。
有什么建议吗?
更新
在花了一些时间了解这里发生了什么之后,我发现它setUser()
没有被调用到更新操作中(读作提交构建在现有实体上的表单)。所以我的代码只有在我创建新条目时才会运行(我仍然没有解决方案)