目前,我使用 PHP Symfony 框架开发了一个应用程序。我在使用 Form Builder 时遇到了问题(我认为)。我有两个实体。问题和选择。问题和选择是一对多关系实体。一题多选。另外两个实体,视频和类别,关系与问题和选择相同。我为那些使用php bin/console make:crud.然后我在 Symfony 的本指南中添加关系 symfony 。逻辑是,我必须先选择类别才能创建新视频。与选择相同,我必须先选择问题才能创建新的选择数据。当我打开选项创建表单 [/choice/new] 时出现我的问题。它说变量“扩展”不存在。然后错误详细信息显示在此行return $this->render('choice/new.html.twig', [ 'choice' => $choice, 'form' => $form->createView(), // The highlighted error appear on this line]);但是,它只是发生在问题选择中,我的类别视频关系很好。我尝试使 Question-Choice 与 Category-Video 相同(我确定更改了实体的名称),我对其进行了三重检查,但 Choice Create Form 上的错误仍然出现。这是我的 App\Form\ChoiceTypepublic function buildForm(FormBuilderInterface $builder, array $options){ $builder ->add('content') ->add('letter') ->add('image') ->add('question', EntityType::class, [ 'class' => Question::class, 'choice_label' => 'content' ]) ;}注意add('question')这是我的 App\Form\VideoType buildForm 方法<?phppublic function buildForm(FormBuilderInterface $builder, array $options){ $builder ->add('title') ->add('url', FileType::class, [ 'label' => 'Video File', 'required' => false, ]) ->add('thumbnail', FileType::class, [ 'required' => false, ]) ->add('description') ->add('category', EntityType::class, [ 'class' => Category::class, 'choice_label' => 'name' ]) ;}注意add('category')那么,有人知道发生了什么吗?
1 回答
MYYA
TA贡献1868条经验 获得超4个赞
我将 App\Form\ChoiceType 重命名为 App\Form\TheChoiceType,对控制器上的类名更改进行了一些调整。一切都是工作!
我不相信这个!解决方案是重命名表单类型。
- 1 回答
- 0 关注
- 72 浏览
添加回答
举报
0/150
提交
取消