Doctrine 2 HasLifecycleCallbacks

时间:2012-01-08 12:29:17

标签: php symfony doctrine-orm

我不明白。

我在上传文件时使用HasLifecycleCallbacks。当我创建一个新记录时,文件上传很好。但是,当我试图只改变文件时,没有任何事情发生。但是,当我更改其他字段时,例如“名称”并选择新文件,文件将被上传。

为什么这个回调:PrePersist(), PreUpdate(), PostPersist(), PostUpdate()仅在我更改文件输入以外的某些字段时被触发?

我使用symfony 2和doctrine2。

1 个答案:

答案 0 :(得分:2)

Doctrine不会将您设置的文件属性作为实体字段进行跟踪。如果您按照示例操作,则与Doctrine相关的属性可能名为“path”。更改文件不会将实体标记为需要保留。

作为解决方法,您可以将更新日期字段设置为更新时的当前时间戳。