首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >symfony 5无法在课堂上读取"tipoinvitado“属性

symfony 5无法在课堂上读取"tipoinvitado“属性
EN

Stack Overflow用户
提问于 2021-02-15 12:18:58
回答 1查看 10.5K关注 0票数 6

我需要选择用户并选择一个角色,但是当我添加角色时,我会失败:

无法读取类“App\Entity\Evento”中的属性"tipoinvitado“.

关于其他实体的"tipoinvitado“性质

控制器

代码语言:javascript
复制
  public function a(Request $request, Evento $evento){
        $user_repo = $this->getDoctrine()->getRepository(User::class);
        $users = $user_repo->findAll();    

        $evento = $this->getDoctrine()->getRepository(Evento::class)->findOneById($evento); 
        $form = $this->createForm(AsignarEventoFormType::class, $evento);
        $form->handleRequest($request);
        
        if($form->isSubmitted() && $form->isValid()){
            $users = $evento->GetUsers();
                foreach($users as $user){

                $formulario = $form->get("tipoinvitado")->getData();
                $userhasevento = new UserHasEvento();
                $userhasevento->SetTipoinvitado($formulario);
                $userhasevento->SetFechainscripcion(new \DateTime('now'));
                $userhasevento->SetEventoid($evento->getId());
                $userhasevento->SetUserid($user->getId());
                $em = $this->getDoctrine()->getManager();
                $em->persist($userhasevento);
                $em->flush();
            }
                return $this->redirect($this->generateUrl('evento_detalle', ['id' => $evento->getId()]));
 
        }        
        return $this->render('evento/AsignarEvento.html.twig',[
            'form' => $form->createView()
        ]);
    }

我的表格

代码语言:javascript
复制
use App\Entity\User;

class AsignarEventoFormType extends AbstractType{
    
    public function buildForm(FormBuilderInterface $builder, array $options){
        $builder->add('Users', EntityType::class, [
            'class' => User::class,
            'multiple' => true,

        ])

        ->add('tipoinvitado', ChoiceType::class, array(
            'label' => 'Prioridad',
            'choices' => array(
                'VIP' => 'VIP',
                'Empresa' => 'Empresa'
            )
        ))

        ->add('submit', SubmitType::class, array(
            'label' => 'Asignar'
        ));
    }
    
}```
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-02-15 13:38:39

tipoinvitado不是Evento的属性。如果要添加不是表单数据类属性的表单字段,只需将'mapped' => false添加到字段中即可。

代码语言:javascript
复制
->add('tipoinvitado', ChoiceType::class, array(
            'label' => 'Prioridad',
            'mapped' => false,
            'choices' => array(
                'VIP' => 'VIP',
                'Empresa' => 'Empresa'
            )
        ))
票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66207902

复制
相关文章

相似问题

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