从表中删除而不影响外来价值

时间:2015-07-20 16:02:50

标签: php doctrine-orm cascade

当我想删除用户时,我不需要从公司删除。 2个entites与另一个包含用户ID和comppany id的链接相关联。

这是我在实体中的注释,我链接用户和公司(可能已经完成了,但有其他一些属性:

@ORM\ManyToOne(targetEntity="Admin\ManagementBundle\Entity\User", inversedBy="uc", cascade={"persist"})
private $user;


@ORM\ManyToOne(targetEntity="Admin\ManagementBundle\Entity\Company", inversedBy="uc", cascade={"persist"})
 private $compani;

当我使用EmtityManager()->remove($user);删除时,它会删除与此用户相关的任何内容。 无法找到任何可以帮助我的东西。

谢谢,

1 个答案:

答案 0 :(得分:0)

确保您已启用CASCADING DELETES。 在这种情况下所需要的只是

DELETE FROM MainTable
WHERE PrimaryKey = ???

您的数据库引擎将负责删除相应的引用记录。