如何解决 Symfony 错误 Variable "expanded" does not exist?

How to solve Symfony error Variable "expanded" does not exist?

目前,我使用 PHP Symfony 框架开发了一个应用程序。我在使用 Form Builder 时遇到了问题(我认为)。

我有两个实体。问题和选择。 问题和选择是一对多关系实体。一问多选

另外两个实体Video和Category,关系同Question和Choice

我用 php bin/console make:crud.

为那些实体创建脚手架 crud

然后我像这样添加关系 symfony guide from Symfony

逻辑是,我必须先 select 类别才能创建新视频。与 Choice 相同,我必须先 select Question 才能创建新的 Choice 数据。

当我打开 Choice Create Form [/choice/new] 时出现了我的问题。它说

Variable "expanded" does not exist.

然后错误详细信息显示在这一行

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')

那么,有人知道发生了什么事吗?

我将 App\Form\ChoiceType 重命名为 App\Form\TheChoiceType,对 class 控制器上的名称更改进行了一些调整。一切正常!

我不相信!解决方案是重命名表单类型。