使用 KnpLabs 的 SoftDeletable 时强制删除条令实体

sim*_*Pod 2 entity-framework symfony doctrine-orm

我在https://github.com/KnpLabs/DoctrineBehaviors/#softDeletable的实体中使用 SoftDeletable 特征它工作正常,但有时我想强制删除实体。我怎样才能做到这一点?

当我使用时$em->remove($entity),它会被软删除,但我需要将其从数据库中完全删除。

小智 8

我找到了简单的解决方案。实体首先将被软删除,但如果它已经被软删除,它将被硬删除,所以我的简单解决方案是:

$entity->setDeletedAt(new DateTime());
$entityManager->remove($entity);
$entityManager->flush();
Run Code Online (Sandbox Code Playgroud)

当然,您需要首先禁用“softdelete”过滤器,并且deletedAt是一个sofdelete字段。