gpt4 book ai didi

php - ManyToMany 没有删除

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:42:04 26 4
gpt4 key购买 nike

我正在尝试删除 Doctrine 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 cascade property , 在你的情况下分离

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

关于php - ManyToMany 没有删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12213353/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com