2012-07-31 117 views
1

我使用推進和軟刪除和推進嵌套集。Propel嵌套集刪除軟刪除

  • 當我刪除沒有孩子的節點,然後做$node->undelete()一切都很好,節點正在從軟刪除恢復。
  • 但是,如果一個節點有孩子,並刪除它,然後,如果我做$node->undelete()它只能恢復沒有任何孩子的節點....

任何意見或解決方案?

回答

0

是的,undelete()方法是非常簡單的,它所做的就是取消該確切表上的deleted_at列。但是,如果您在子表上也有軟刪除行爲,則可以這樣做:

SubTableQuery::create() 
    ->includeDeleted() 
    ->filterByParentId($parentRecord->getId()) 
    ->unDelete(); 
$parentRecord->unDelete();