目前,我使用 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\ChoiceType
public 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 方法
<?php
public 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')
那么,有人知道发生了什么吗?
MYYA