2017-04-18 33 views
1

Iam試圖爲我的應用程序構建更智能的上載結構。直到現在,我已經有了在控制器中上傳文件的代碼,而且所有內容都是手動的。現在我想在Symfony中使用VichUploader,但是我有問題需要使用多個文件來實現它。symfony窗​​體通過Vich Uploader提供的新文件

首先,我沒有一個文件的實體,而是一個擁有多個文件實體的實體。更清楚地說:實體DocumentFileoneToMany關係。所以,我建立一個形式與CollectionType:

$builder->add('files', Type\CollectionType::class, [ 
    'entry_type' => Type\FileType::class 
]) 

但因爲當我添加一個新的文檔文件不還,不顯示任何上傳字段。即使已經有文件(在編輯窗體上),也不應該顯示上載字段,而是包含文件名的文本字段。

我該如何做到這一點?我是否還需要添加一個帶有多個FileType的umapped字段files_new()?然後VichUploader自動的東西不會工作。

回答

0

如果你傳遞一個空文件對象,你應該有你的HTML FIL輸入,因爲它是一個集合

在你的控制器(我沒有你的代碼)

$entity = new Entity() 
$entity->addFile(new FileEntity())//Add an empty file object 


$form = $this->createForm(YourType::class, $entity); 
$form->handleRequest($request); 
+0

確定這樣的作品,但我仍然遇到多個文件上傳的主要問題。但是因爲我的問題沒有真正指出,我會開始一個新的並接受你的答案 – Asara