Search code examples
propelnested-sets

Propel Nested Set Undelete Soft Deleted


I use propel and soft delete and propel nested set.

  • When I delete a node without children and then do $node->undelete() everything is fine, node is recovering from soft delete.
  • But if a node have children and delete it then if I do $node->undelete() it recovers only the node without any children....

Any ideas or solutions?


Solution

  • Yeah, the undelete() method is pretty simple, all it does it nullify the deleted_at column on that exact table. However, if you have the soft delete behavior on the sub table as well, then you could do this:

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