我正在使用 Easy Admin 4 和 Symfony 6 构建简单的管理面板。无法弄清楚如何在编辑实体时保留上传的图像值。图像预览在编辑表单上也不可见。代码很简单:
public function configureFields(string $pageName): iterable
{
return [
IdField::new('id')->hideOnForm(),
TextField::new('name')->setColumns(4),
UrlField::new('url')->setColumns(4),
ImageField::new('icon')
->setUploadDir('public/assets/images/')
->setUploadedFileNamePattern('assets/images/[slug]-[contenthash].[extension]')
->setColumns(4),
TextareaField::new('description')->setColumns(12)->onlyOnForms(),
];
}
每次编辑时图标字段都设置为空。我错过了什么?
我现在遇到一个问题,可以通过允许实体上的图像 url 属性设置“nullable=true”来解决。
似乎在编辑期间“不更改”文件时,传递了 null,这会触发验证错误
这是我简陋的解决方案,在我的实体文件中,我在 img 的属性中设置了一个条件:
public function setLogo(?string $logo): self
{
$this->logo = is_null($logo) ? $this->logo : $logo;
return $this;
}