如何解决 Symfony 错误变量“扩展”不存在?

目前,我使用 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')


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


泛舟湖上清波郎朗
浏览 73回答 1
1回答

MYYA

我将 App\Form\ChoiceType 重命名为 App\Form\TheChoiceType,对控制器上的类名更改进行了一些调整。一切都是工作!我不相信这个!解决方案是重命名表单类型。
打开App,查看更多内容
随时随地看视频慕课网APP