2011-07-28 9 views
1

エンティティをイベントリスナー内で永続化することはできますか?私は、監査証跡機能を実装しようとしています:イベントリスナー内でエンティティを保持する方法は?

public function preUpdate($eventArgs) 
{ 
    if ($eventArgs->getEntity() instanceof \Domain\Entity\Customer) { 
    $customerAuditTrail = new \Domain\Entity\CustomerAuditTrail(); 

    if ($eventArgs->hasChangedField('FirstName')) { 
     $customerAuditTrail->setAction('Update'); 
     $customerAuditTrail->setField('FirstName'); 
     $customerAuditTrail->setCustomer($eventArgs->getEntity()); 

     $customerAuditTrail->setOldValue($eventArgs->getOldValue('FirstName')); 
     $customerAuditTrail->setNewValue($eventArgs->getNewValue('FirstName')); 
     ... 

     $this->_em->persist($customerAuditTrail); 
    } 
    } 
} 

保存操作が正常に動作しているが、customerAuditTrailがデータベースに永続化されていません。

答えて

関連する問題