フォームに価格プロパティを持つエンティティがあります。更新で、このエンティティの変更をキャンセルしたい。
これは preUpdate イベントリスナーの私のコードです:
if($entityManager->contains($entity)) {
$entityManager->detach($entity);
$uow = $entityManager->getUnitOfWork();
$meta = $entityManager->getClassMetadata(get_class($entity));
$uow->recomputeSingleEntityChangeSet($meta, $entity);
}
しかし、テストでは、次のエラー メッセージが表示されます。
1) WebFactory\PriceListBundle\Tests\Entity\PriceListTest::testCreateProduct Doctrine\ORM\ORMInvalidArgumentException: Entity WebFactory\Bundle\PriceListBundle\Entity\PriceList@000000005f6fc4da0000000028ff97b1 は管理されていません。エンティティは、データベースからフェッチされた場合、または EntityManager#persist を通じて新規登録された場合に管理されます