Doctrine 2 - Änderungen in manyToMany-Beziehung protokollieren

Ich benutze Loggable Verhaltenserweiterung, um Änderungen in meinen Entitäten zu protokollieren. Ich möchte auch Änderungen in manyToMany-Beziehungen protokollieren. Ich möchte dem Benutzer diese Art von Änderungsprotokoll anzeigen:

+--------------------------------------------------+
| Article "My Article" change log:                 |
+-------+------------+-----------------------------+
| Who   | When       | What                        |
+-------+------------+-----------------------------+
| Admin | 2015-07-01 | Removed tags "tag1", "tag2" |
| Admin | 2015-07-01 | Added tags "tag3"           |
+-------+------------+-----------------------------+
Event problem

Meiner Ansicht nach,Doctrine löst keine Ereignisse aus, wenn sich die Beziehung manyToMany ändert, daher speichert Loggable (Listening Doctrine Events) den Protokolleintrag nicht. Ich kann es umgehen, indem ich meine eigene manyToMany-Tabelle erstelle, aber hier ist das zweite Problem:

Own ManyToMany Problem

Wenn ich eine Entität erstelle, die eine manyToMany-Beziehung ohne @JoinTable-Annotation darstellt, weiß ich nicht, wie die neue Entität so geschrieben werden soll, dass sie sich wie die alte JoinTable-Entität verhält. Ich will keine BC Pause. Kannst du mir einen Hinweis geben, wie Doctrine damit umgeht?

Haben Sie eine Empfehlung, wie Sie Änderungen in manyToMany-Beziehungen protokollieren können?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage