首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何用VichUploaderBundle呈现输入?

如何用VichUploaderBundle呈现输入?
EN

Stack Overflow用户
提问于 2019-09-13 20:39:11
回答 1查看 90关注 0票数 0

对于使用Symfony 4编写的包VichUploaderBundle,我遇到了麻烦。我遵循了一个教程,使用VichUploaderBundle进行上传以上载多个文件。

我的问题是,上传文件的输入表单永远不会呈现。但我不觉得我的Type文件有什么问题。

在我的MemberType中,他能找到所有的争吵,我

代码语言:javascript
复制
...
            ->add('member_files', CollectionType::class, [
                'label' => 'Add a file',
                'entry_type' => MemberFilesType::class,
                'allow_add' => true,
                'allow_delete' => true,
                'prototype' => true
            ])
...

我的MemberFilesType是:

代码语言:javascript
复制
<?php

namespace App\Form;

use App\Entity\MemberFiles;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver;
use Vich\UploaderBundle\Form\Type\VichImageType;


class MemberFilesType extends AbstractType
{
    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $builder
            ->add('imageFile', VichImageType::class, [
                'required' => false,
                'download_uri' => true,
                'image_uri' => true
            ])
        ;
    }

    public function configureOptions(OptionsResolver $resolver)
    {
        $resolver->setDefaults([
            'data_class' => MemberFiles::class,
        ]);
    }
}

你有什么主意吗?

EN

回答 1

Stack Overflow用户

发布于 2019-09-14 08:20:25

如果您正在使用一个没有Member (空集合)的MemberFiles,那么这就是我们所期望的。没有集合条目,因为没有持久化,请尝试在创建表单之前向MemberFiles添加一个新的Member

在您的控制器操作中:

代码语言:javascript
复制
if(empty($member->getMemberFiles())){
  $member->addMemberFile(new MemberFiles());
}
$form = $this->createForm(MemberType::class, $member);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57930087

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档