如果没有手动设置,我想自动设置其中一个实体字段。有没有办法检查这个?这些字段有一个默认值,所以我不能简单地比较该值。我想知道教义是否维护价值是否改变以及我是否可以访问该信息。
此外,Doctrine 2中的prePersist相当于Doctrine 1中的preInsert吗?我怎样才能确保我只在create statement上运行代码?
由于
答案 0 :(得分:3)
当您在实体上调用prePersist
时,会触发Doctrine\ORM\EntityManager#persist
事件(docs about prePersist)。
如果您需要检查实体的更改,建议您检查onFlush
事件(docs about onFlush)。在那里,您可以使用Doctrine\ORM\UnitOfWork
API获取已应用于实体的任何更改。在调用Doctrine\ORM\EntityManager#persist