ManyToMany没有删除


ManyToMany is not deleting

我正试图删除条令2中的ManyToMany关系。我有两个实体——UserTargetGroup

在我的User实体中,我有:

/**
 * @ORM'ManyToMany(targetEntity="TargetGroup", inversedBy="users")
 */
private $targetGroups;

在我的TargetGroup实体中,我有:

/**
 * @ORM'ManyToMany(targetEntity="User", mappedBy="targetGroups")
 */
private $users;

我正试图拨打:

$user->removeTargetGroup($targetGroup);
$targetGroup->removeUser($user);
$em->persist($user);
$em->persist($targetGroup);
$em->flush();

使用的两种方法是:

public function removeTargetGroup(Path To Bundle $targetGroups)
{
    $this->targetGroups->removeElement($targetGroups);
}
public function removeUser(Path To Bundle $users)
{
    $this->users->removeElement($users);
}

它不会出错,但也不会执行任何删除查询。

有什么建议吗?

看看Doctrine级联属性,在您的案例中是分离。

如果在两个ManyToMany注释上都设置了cascade={"detach"},则交叉表记录应在持久化时丢弃。