将未绑定/自定义字段添加到Symfony 5中的表单-无法获取读取类“App\Entity\”中属性“extra”的方法

s5a0g9ez  于 2022-11-16  发布在  其他
关注(0)|答案(1)|浏览(112)

我想在Symfony中向表单添加一个额外的字段,但是如果它没有绑定到实体属性,它就不会接受。
如果有人知道我能做些什么来修复它,提前非常感谢!
下面是表单类型,我尝试添加“extra”字段:

<?php

namespace App\Form;

use App\Entity\Dossier;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver;
use Symfony\Component\Form\Extension\Core\Type\TextType;
use Symfony\Component\Form\Extension\Core\Type\ChoiceType;

class InscriptionBCType extends AbstractType
{
    public function buildForm(FormBuilderInterface $builder, array $options): void
    {

        $builder
            ->add('extra', TextType::class, [
                'label' => 'Les besoins qui motivent votre demande (soyez exhaustif)',
                'required' => false,
                ])
            ->add('Nom')
            ->add('Prenom')
            ->add('Mail')
            ->add('civilite', ChoiceType::class, [
                'choices'  => [
                    'Monsieur' => "Monsieur",
                    'Madame' => "Madame",
                ],
            ])            ->add('telephone')
            ->add('adresse')
            ->add('code_postal')
            ->add('ville')
            ->add('projet', TextType::class, [
                'label' => 'votre projet entrepreneurial (SI VOUS EN AVEZ UN)(FACULTATIF)',
                'required' => false,
                ])
            ->add('besoin', TextType::class, [
                'label' => 'Les besoins qui motivent votre demande (soyez exhaustif)',
                'required' => false,
                ])
            ->add('budgetCPF', TextType::class, [
                'label' => 'Votre budget CPF mobilisable',
                'required' => false,
                ])
        ;
    }

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

我得到这个错误:

Can't get a way to read the property "extra" in class "App\Entity\Dossier".
zc0qhyus

zc0qhyus1#

我知道我已经在评论中回答了这个问题,但并不是每个人都读他们,这就是为什么我张贴它作为一个答案,如果你想一个字段被忽略,你必须使用Map,例如:
add("extra"=> 'file', array("mapped"=>false))

相关问题