每个Program
可以有一个或多个Documents
,这些文件是借助VichUploaderBundle上载的文件。
我有一个vich_uploader
的配置文件,如下所示:
vich_uploader:
db_driver: orm
mappings:
program_document:
upload_destination: '%kernel.project_dir%/public_html/uploads/program-documents'
namer: Vich\UploaderBundle\Naming\UniqidNamer
我想将一个Program
的文档存储在一个文件夹中,而不是一起存储。是否可以在upload_destination
中添加动态变量?类似于%program_id%
,以便将一个程序的文件存储在具有该程序ID的文件夹中?
答案 0 :(得分:0)
除了文件名(在配置中已经有)外,您还可以指定目录名(https://github.com/dustin10/VichUploaderBundle/blob/master/Resources/doc/namers.md#directory-namer)。已经有3种可用的软件,其中一种(PropertyDirectoryNamer
)应该可以解决您的问题。如果没有,您仍然可以编写一个custom directory namer。