Symfony2 gedmo软可删除关系检索无法正常工作

时间:2014-03-27 22:56:57

标签: php symfony doctrine-orm soft-delete

我正在使用soft-Deletable扩展程序,所有工作正常,除了1件事。

当我执行以下操作时,等于true(伪代码):

null == $fooRepository->findByCriteria('criteria to find deleted entity');

但以下等于假

null == $otherEntity->getDeletedFooEntity()

当我这样做时

if ($otherEntity->getDeletedFooEntity() != null)
{
    $var = $otherEntity->getDeletedFooEntity()->getAnyProperty();
}

我收到服务器500错误:找不到实体

我怎样才能使它返回null?或者我做错了吗?

非常感谢

2 个答案:

答案 0 :(得分:0)

要回答500错误,您可以修改代码:

if ($otherEntity->getDeletedFooEntity() instanceOf Foo) {
    $var = $otherEntity->getDeletedFooEntity()->getAnyProperty();
}

其中Foo是应该由" getDeletedFooEntity"返回的类。方法。

答案 1 :(得分:0)

如果您在已删除的实体上使用唯一索引,则Gedmo会出现问题。您可以通过在软删除实体时更改值来避免这种情况。在这里,您可以在我写的一篇文章中详细了解如何执行此操作:http://www.intelligentbee.com/blog/2015/01/09/symfony2-gedmo-softdeletable-doctrine-entities-with-unique-index-columns/