【发布时间】:2018-08-08 02:21:58
【问题描述】:
我阅读了 VichUploaderBundle documentation,并将从中学到的知识应用到我的代码中。
但是当我尝试运行代码时,我得到了这个异常找不到字段“logoFile”的映射。
注意:我使用的是 Symfony 4.1 和 VichUploaderBundle 1.8
所以这是我的代码...
配置
// config/packges/vich_uploader.yaml
vich_uploader:
db_driver: orm
mappings:
company_logo:
uri_prefix: /uploads/logos
upload_destination: '%kernel.project_dir%/public/uploads/logos'
inject_on_load: false
delete_on_update: true
delete_on_remove: true
实体:
use Symfony\Component\HttpFoundation\File\File;
use Vich\UploaderBundle\Mapping\Annotation as Vich;
/**
* @Vich\Uploadable
* @UniqueEntity("registrationNumber", message="This Registration Number {{ value }} is already used")
*/
class Company
{
// ...
/*
* @Vich\UploadableField(mapping="company_logo", fileNameProperty="logo")
*/
private $logoFile;
/**
* @ORM\Column(type="string", length=128, nullable=true, unique=true)
*/
private $logo;
public function getLogo(): ?string
{
return $this->logo;
}
public function setLogo(?string $logo): self
{
$this->logo = $logo;
return $this;
}
public function setLogoFile(?File $image = null): self
{
$this->logoFile = $image;
return $this;
}
public function getLogoFile(): ?File
{
return $this->logoFile;
}
// ...
}
表格:
class CompanyType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
// ...
->add('logoFile', VichImageType::class);
}
}
【问题讨论】:
-
您是否尝试清除缓存?
-
是的,我使用:bin/console cache:clear 清除它,但没有任何反应!
-
你的实体类中是否导入了@Vich注解?
-
是的,它已经导入了!
-
能否请您发布整个实体代码?
标签: symfony file-upload vichuploaderbundle