PreUpdate- und PostUpdate-Ereignisse werden in Doctrine 2 nicht ausgelöst

Ich habe die Anweisungen aus diesem Tutorial befolgt:http://symfony.com/doc/current/cookbook/doctrine/event_listeners_subscribers.htmlund haben einen einfachen Listener erstellt, der auf Ereignisse wartet, die von Doctrine beim Einfügen oder Aktualisieren einer Entität ausgelöst werden. Die Ereignisse preInsert und postInsert funktionieren einwandfrei und werden beim Erstellen einer neuen Entität ausgelöst. PreUpdate und postUpdate werden jedoch niemals bei der Aktualisierung der Entität aufgerufen, egal was passiert. Das gleiche gilt für onFlush. Als Randnotiz habe ich einen konsolengenerierten Controller, der die grundlegenden CRUD-Operationen unterstützt, und habe ihn unberührt gelassen.

Im Folgenden finden Sie einige Codefragmente, die veranschaulichen, wie ich das mache.

config.yml

<code>annotation.listener:
    class: City\AnnotatorBundle\Listener\AnnotationListener
    tags:
        -  { name: doctrine.event_listener, event: postUpdate}
</code>

Listener-Implementierung (ich habe die anderen Funktionen weggelassen und der Einfachheit halber nur das postUpdate gelassen)

<code>class AnnotationListener
{

    public function postUpdate(LifecycleEventArgs $args)
    {
        $entity=$args->getEntity();

        echo $entity->getId();
        die;
    }
}
</code>

Die Entitäts-ID wird nie angezeigt, und das Skript wird solange ausgeführt, bis es trotz des Symbols vollständig iststerben am Ende der Funktion.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage