2014-03-27 34 views
0

我正在使用soft-Deletable擴展名,並且所有工作都正常,除了一件事情。Symfony2 gedmo軟刪除關係檢索工作不正常

當我做了以下等於真(僞):

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

但以下等於false

null == $otherEntity->getDeletedFooEntity() 

在那裏,當我做這個

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

我獲得服務器500錯誤:未找到實體

我怎樣才能讓它返回null?還是我做錯了?

非常感謝

+0

嗨亞當,你的代碼,它不是很清楚getDeletedFooEntity做什麼,因爲afaik,它不是一個symfony或教條擴展的基本行爲或幫手。 – totophe

回答

0

要接聽500錯誤,你可以修改你的代碼,例如:

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

其中foo是應該由「getDeletedFooEntity」方法返回的類。

0

如果您在刪除的實體上使用唯一索引,Gedmo會出現問題。您可以通過在軟刪除實體時更改值來避免此情況。在這裏你有更多的細節如何做到這一點,在我寫的文章:http://www.intelligentbee.com/blog/2015/01/09/symfony2-gedmo-softdeletable-doctrine-entities-with-unique-index-columns/

+0

儘管這個鏈接可能回答這個問題,但最好在這裏包含答案的重要部分,並提供供參考的鏈接。如果鏈接頁面更改,則僅鏈接答案可能會失效。 – worldofjr

+0

雖然這不是一個徹底的答案,但它不是@ linkof回答](http://meta.stackexchange.com/a/225371/179335)@worldofjr。 –

+0

@CarrieKendall你應該去[meta](http://meta.stackoverflow.com/)提出這樣的問題。 – worldofjr