删除与DQL的多对多关系

时间:2014-05-20 22:18:09

标签: sql symfony doctrine-orm

我的SF2项目中有一个带有标签集合(多对多关系)的实体文章。

class Article
{
/**
 * @ORM\ManyToMany(targetEntity="Namespace\Entity\Tag", cascade={"persist"})
 */
private $tags;

在我的业务逻辑中,本文可以包含许多标记。 在我的应用程序中,用户可以一次性重置所有这些标签。所以我必须删除连接表中的所有引用。

为了减少我的学说查询数量,我想用DQL(为了保持一致)这样做,但我找不到办法。

1 个答案:

答案 0 :(得分:0)

在您的自定义EntityRepository中创建removeTags($article)方法,并输入如下内容:

DELETE FROM article_tag WHERE article_id = :article

我现在无法测试,但这应该可行。