bod*_*ser 6 entity file-upload symfony doctrine-orm
我正在使用symfony.com的cookbook文章来实现图像的文件上传选项.
现在我想将其他图像加载到实体.
编辑的默认策略是:1.取出DB 2.注入表3.坚持
不知何故,当使用文件上传时,该策略不再起作用(doctrine不执行事件)
我还能做些什么来使图片的文章可编辑?
mla*_*her 10
烹饪书不处理更新,特别是在仅文件更改的情况下.
在这种情况下,PreUpdate事件不会被触发,因此您需要在$entity->preUpload()之前手动触发,以便$em->persist($entity)在任何情况下处理文件上载(preUpload将改变$entity->path以便持久化将发生)
如果您只更改上传字段,则生命周期不会运行上传方法,在菜单中报告解决方案的报价框如下:
仅当持久化的实体字段之一发生更改时,才会触发PreUpdate和PostUpdate回调.这意味着,默认情况下,如果仅修改$ file属性,则不会触发这些事件,因为属性本身不会通过Doctrine直接保留.一种解决方案是使用持久保存到Doctrine的更新字段,并在更改文件时手动修改它.
在持久化事件之前添加一个虚拟字段以在控制器中进行更新,如此建议:
https://github.com/symfony/symfony-docs/pull/564
public function setFile(UploadedFile $file)
{
$this->file = $file;
$this->updatedAt = new \DateTime();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6486 次 |
| 最近记录: |