我试图为我的应用构建更智能的上传结构。到目前为止,我已经有了在控制器中上传文件的代码,一切都更加手动。现在我想在Symfony中使用VichUploader,但是我在使用多个文件时遇到了问题。
首先,我没有一个包含文件的实体,但是包含多个文件实体的实体。更明确一点:实体Document
与oneToMany
的关联File
。所以我使用CollectionType构建一个表单:
$builder->add('files', Type\CollectionType::class, [
'entry_type' => Type\FileType::class
])
但是因为当我添加新文档时还没有文件,所以没有显示上传字段。即使已经存在文件(在编辑表单上),也不应该显示上传字段,而应该显示带有文件名的文本字段。
我怎样才能实现这一目标?我还需要添加带有多个FileType的umapped字段files_new()吗?然后VichUploader自动东西不起作用。
答案 0 :(得分:0)
如果你传递一个空文件对象,你应该输入你的html文件,因为它是一个集合
在您的控制器中(我没有您的代码)
$entity = new Entity()
$entity->addFile(new FileEntity())//Add an empty file object
$form = $this->createForm(YourType::class, $entity);
$form->handleRequest($request);