我正在使用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?或者我做错了吗?
非常感谢
答案 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/