0
我已經成功實現了使用此示例的我的實體的審計跟蹤:http://www.doctrine-project.org/blog/doctrine2-versionable。Doctrine 2在INSERT上可版本化
一切工作正常,即使有關係。
問題:
如果記錄不存在於數據庫中,教條2執行INSERT(如預期),但它也寫了審計跟蹤但RESOURCEID = 0,因爲它不(新)實體的ID在刷新之前不知道。
在這種情況下,我總是失去對記錄的第一次審覈,實際上從來不知道創建記錄的人/時間。
我認爲這個問題是在這裏:
public function onFlush(OnFlushEventArgs $args)
{
$em = $args->getEntityManager();
$uow = $em->getUnitOfWork();
foreach ($uow->getScheduledEntityInsertions() AS $entity) {
if ($entity instanceof Versionable) {
$this->_makeSnapshot($entity);
}
}
foreach ($uow->getScheduledEntityUpdates() AS $entity) {
if ($entity instanceof Versionable) {
$this->_makeSnapshot($entity);
}
}
}
感謝。它指出了我正確的方向。 – 2012-03-01 10:31:39