我在github上用symfony提交了一张发行票,但我需要一个解决方法:https://github.com/symfony/symfony/issues/5150
我创建了一个带有关联图像的实体,我正在使用symfony docs中描述的生命周期回调来保存它:http://symfony.com/doc/current/cookbook/doctrine/file_uploads.html#using-lifecycle-callbacks
当用户填写表单并点击保存时,一切正常。但是,如果用户填写/编辑的唯一项目是图像,则不保存表单。我相信这是因为symfony没有看到对实体的更改,因此它不会重复执行实体,因此永远不会调用前/后持久化函数。
我需要一些方法来强制实体持续存在。
答案 0 :(得分:2)
您可以添加更新的日期字段。在文件行的setter中,将此更新字段设置为当前日期。现在一切都应该正常。
答案 1 :(得分:1)
我假设你的表单中有一个文件上传字段和路径字段。 如果更改setFile方法以更改文件路径实体,则应正确保存。例如:
public function setFile($file)
{
if (! empty($file)) {
$this->photo = 'changed';
}
$this->file = $file;
}