如何删除Doctrine中的多对多记录?

时间:2010-04-08 16:17:56

标签: doctrine many-to-many

我正在尝试使用Doctrine删除多对多的记录。我在http://www.doctrine-project.org/documentation/manual/1_2/ru/working-with-models#many-to-many-relations:deleting-a-link

上使用了代码

当我执行第一个方法时,它只删除UserGroup记录。如何一次删除用户,组和用户组记录?第二种和第三种方法也不起作用。

3 个答案:

答案 0 :(得分:3)

您可以使用DQL删除这些记录,但是..

你确定要这么做吗?在删除所有这些内容之前,您应该确保没有其他用户使用您要删除的组,并且您要删除的用户不属于任何其他组。

答案 1 :(得分:2)

以这种心情添加你的schema.yml:

...
relations:
...
     onDelete: CASCADE

或在你的基础模型中:

$this->hasMany('Group as Groups', array(
         ...
         'onDelete' => 'CASCADE'));

答案 2 :(得分:1)

除非在删除时将表设置为级联,否则不能这样做。