2012-10-06 52 views
2

我有這個代碼,但我有一個問題,在數據庫中插入對象$modificacionpreupdate事件原則

class ListenerCrud{ 

    protected $container; 

    public function __construct(ContainerInterface $container) 
    { 
     $this->container = $container; 
    } 

    public function preUpdate(PreUpdateEventArgs $eventArgs){ 

     if ($eventArgs->getEntity() instanceof Usuario) { 

      $em = $eventArgs->getEntityManager(); 
      $modificacion = new Modificacion(); 
      $modificacion->setFechamod(new \DateTime('now')); 
      $modificacion->setEntidad('Usuario'); 
      $modificacion->setTipo('uupdate'); 
      $securityContext = $this->container->get('security.context'); 
      $modificacion->setEmpleado($securityContext->getToken()->getUser()); 
      $modificacion->setInfo('hi'); 
      $em->persist($modificacion); 
      $classMetadata = $em->getClassMetadata(get_class($modificacion)); 
      $em->getUnitOfWork()->computeChangeSet($classMetadata, $modificacion); 
     } 
    } 
} 

config.yml,我有:

listenercrud: 
    class: mio\mioBundle\ListenerCrud 
    arguments: [@service_container] 
    tags: 
     - { name: doctrine.event_listener, event: PreUpdate} 

回答

1

事件名稱,在你的YAML文件,應該是 「更新前的」,而不是 「更新前」。

listenercrud: 
    class: mio\mioBundle\ListenerCrud 
    arguments: [@service_container] 
    tags: 
     - { name: doctrine.event_listener, event: preUpdate }