Могу ли я проверить, было ли изменено значение в prePersist ()? - PullRequest
3 голосов
/ 23 декабря 2011

Я хочу автоматически установить одно из полей объекта, если оно не было установлено вручную.Есть ли способ проверить это?У полей есть значение по умолчанию, поэтому я не могу просто сравнить значение.Мне было интересно, поддерживает ли доктрина, изменено ли значение, и могу ли я получить доступ к этой информации.

Кроме того, является ли prePersist в Doctrine 2 эквивалентом preInsert в Doctrine 1?Как я могу убедиться, что я запускаю код только в операторе создания?

Спасибо

1 Ответ

3 голосов
/ 30 января 2012

Событие prePersist ( документы о prePersist ) запускается при вызове Doctrine\ORM\EntityManager#persist для объекта. Если вам нужно проверить наличие изменений в сущности, я предлагаю вам проверить наличие события onFlush ( документы о onFlush ). Там вы можете получить любые изменения, которые вы применили к объекту, используя Doctrine\ORM\UnitOfWork API. Отслеживание изменений на объекте происходит после вызова Doctrine\ORM\EntityManager#persist

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...