1

削除される以外のステータスを変更するには、エンティティを作成する必要があります。それらのために、フラッシュメソッドのリスナーを追加しました。そのため、削除されているすべてのエンティティを確認できますが、削除を防ぐことはできません。出来ますか?

4

2 に答える 2

6

イベント ハンドラーで例外をスローすると、トランザクションが切断され、変更がロールバックされます。

public function onFlush(OnFlushEventArgs $eventArgs)
{
    $em = $eventArgs->getEntityManager();
    $uow = $em->getUnitOfWork();

    foreach ($uow->getScheduledCollectionDeletions() AS $col) {
         throw new Exception('avoid delete');
    }
}
于 2012-09-11T06:35:48.563 に答える
1

doctrine拡張機能https://github.com/l3pp4rd/DoctrineExtensions/blob/master/doc/softdeleteable.mdをインストールするか、独自のソリューションを開発するための例として使用してください

于 2012-09-11T06:30:51.623 に答える