3 Stimmen

Kann ich überprüfen, ob der Wert in prePersist() geändert wurde?

Ich möchte eines der Entitätsfelder automatisch setzen, wenn es nicht manuell gesetzt wurde. Gibt es eine Möglichkeit, dies zu überprüfen? Das Feld hat einen Standardwert, so dass ich den Wert nicht einfach vergleichen kann. Ich frage mich, ob die Lehre festhält, ob der Wert geändert wurde oder nicht, und ob ich auf diese Informationen zugreifen kann.

Ist prePersist in Doctrine 2 gleichbedeutend mit preInsert in Doctrine 1? Wie kann ich sicherstellen, dass ich den Code nur bei der Anweisung create ausführe?

Danke

3voto

Ocramius Punkte 24772

Les prePersist Veranstaltung ( docs über prePersist ) wird ausgelöst, wenn Sie Doctrine\ORM\EntityManager#persist auf eine Entität. Wenn Sie nach Änderungen an einer Entität suchen müssen, empfehle ich Ihnen, nach dem onFlush Veranstaltung ( Dokumente über onFlush ). Dort können Sie alle Änderungen, die Sie an der Entität vorgenommen haben, mit der Funktion Doctrine\ORM\UnitOfWork API. Die Verfolgung von Änderungen an einer Entität erfolgt nach dem Aufruf von Doctrine\ORM\EntityManager#persist

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X