Eventos preUpdate e postUpdate não acionados no Doctrine 2
Eu segui as instruções deste tutorial:http://symfony.com/doc/current/cookbook/doctrine/event_listeners_subscribers.htmle criamos um ouvinte simples que ouve eventos despachados pelo Doctrine na inserção ou atualização de uma entidade. Os eventos preInsert e postInsert funcionam bem e são despachados na criação de uma nova entidade. No entanto, preUpdate e postUpdate nunca são chamados na atualização da entidade, não importa o quê. O mesmo vale para onFlush. Como uma nota lateral, eu tenho um controlador gerado pelo console que suporta as operações básicas do CRUD, e deixou-o intocado.
Abaixo estão alguns trechos de código para demonstrar a maneira como estou fazendo isso.
config.yml
annotation.listener:
class: City\AnnotatorBundle\Listener\AnnotationListener
tags:
- { name: doctrine.event_listener, event: postUpdate}
Implementação do listener (omiti as outras funções e deixei apenas o postUpdate para fins de simplicidade)
class AnnotationListener
{
public function postUpdate(LifecycleEventArgs $args)
{
$entity=$args->getEntity();
echo $entity->getId();
die;
}
}
O ID da entidade nunca é exibido e o script continua sua execução até que esteja completo, apesar domorrer no final da função.