Symfony DoctrineExtensions softdeletable返回已删除的实体

时间:2014-08-22 09:42:46

标签: symfony doctrine-orm soft-delete

我在我的symfony应用程序中安装了stof / DoctrineExtensions,并按原样配置了所有内容。

当我删除一个实体时,已设置deletedAt并且一切正常,但是当我找到所有已删除的实体时仍然会返回。

  $zorgboer = $em->getRepository('stroPublicBundle:Zorgboerderij')->find(3);

  $em->remove($zorgboer);
  $em->flush();

  $zorgboeren = $em->getRepository('stroPublicBundle:Zorgboerderij')->findAll();

@EDIT:好的,我找到了解决方案。问题是实体Zorgboerderij扩展了另一个实体。 softdeletable必须在父母身上。现在它可以工作

1 个答案:

答案 0 :(得分:0)

也许您忘了在app / config.yml中设置SoftDeleteableFilter

doctrine:
    ...
    orm:
        filters:
            softdeleteable:
                class: Gedmo\SoftDeleteable\Filter\SoftDeleteableFilter
                enabled: true

这将启用SoftDeleteable过滤器,因此“软删除”的实体不会出现在结果中。