Heim > Backend-Entwicklung > PHP-Tutorial > Wie rufe ich geänderte Entitätsfelder in Lehre 2 ab?

Wie rufe ich geänderte Entitätsfelder in Lehre 2 ab?

Mary-Kate Olsen
Freigeben: 2024-11-08 03:35:01
Original
739 Leute haben es durchsucht

How to Retrieve Changed Entity Fields in Doctrine 2?

Geänderte Entitätsfelder mit Lehre 2 abrufen

Beim Ändern des Status einer Entität mithilfe von Settern ist es oft hilfreich zu wissen, welche Felder geändert wurden . Lehre 2 bietet einen Mechanismus zum Abrufen dieser Informationen.

Um die Liste der geänderten Felder zu erhalten, führen Sie die folgenden Schritte aus:

1. Rufen Sie die Arbeitseinheit ab

Beginnen Sie mit dem Abrufen der Arbeitseinheit (UoW), die dem Entity Manager zugeordnet ist:

$uow = $em->getUnitOfWork();
Nach dem Login kopieren

2. Änderungssätze berechnen

Berechnung von Änderungssätzen für die verwalteten Entitäten auslösen:

$uow->computeChangeSets();
Nach dem Login kopieren

3. Entitätsänderungssatz abrufen

Verwenden Sie die getEntityChangeSet-Methode der UoW, um die spezifischen Änderungen abzurufen, die an der gewünschten Entität vorgenommen wurden:

$changeset = $uow->getEntityChangeSet($entity);
Nach dem Login kopieren

Hinweis für PreUpdate-Listener:

Wenn Sie innerhalb eines PreUpdate-Listeners auf geänderte Felder zugreifen, berechnen Sie die Änderungssätze nicht neu, da diese bereits berechnet wurden. Rufen Sie einfach den Änderungssatz direkt ab.

Warnung:

Diese Lösung ist nur für die Verwendung innerhalb von Doctrine-Ereignis-Listenern vorgesehen und sollte nicht außerhalb dieses Kontexts verwendet werden. Dies könnte das normale Verhalten von Doctrine stören.

Das obige ist der detaillierte Inhalt vonWie rufe ich geänderte Entitätsfelder in Lehre 2 ab?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage