【发布时间】:2013-10-23 18:13:55
【问题描述】:
我正在构建一个 Symfony2 项目并使用 gedmo/doctrine-extensions (GitHub) 来实现软删除。我的问题是是否有办法“禁用”或“覆盖”软删除,甚至检测是否有内容被软删除。
情况如下:
我有一个引用“用户”实体的“注释”实体。特定注释引用已被软删除的用户。即使用户已被删除,它也会为 TWIG 的“已定义”逻辑返回 true,甚至可以返回已删除用户的 id。但是,如果我查询任何其他信息(包括标记是否已被删除的“deletedAt”参数),我会收到 500“找不到实体”错误。
由于数据实际上仍然存在,并且由于笔记本身没有被删除,所以我仍然想说谁写了笔记,即使用户已被删除。
这可能吗?如果没有,我如何正确检测是否有内容被软删除?就像我说的,$note->getUser() 仍然会检索一个对象并为任何 null /“已定义”比较返回 true。
【问题讨论】:
-
这是 Doctrine2 的一个已知限制,参见github.com/doctrine/doctrine2/issues/4543
标签: symfony doctrine soft-delete