首页 > 解决方案 > 如何修复“尝试调用名为“createNamedBuilder ...”的未定义方法?

问题描述

我正在尝试在我的控制器中创建一个命名表单(构建器),例如

...
$form = $this->createNamedBuilder('form1', $data)
->add(...)
->getForm();

但我得到了标题提到的错误。当我检查抽象控制器特征类时,那里没有createNamed()createNamedBuilder()功能。

如何使用表单生成器创建命名表单?

亲切的问候

标签: symfony-formssymfony4formbuilder

解决方案


根据这个你需要获取FormFactory(通过依赖注入接口)。

添加FormFactoryInterface $formFactory到我的控制器方法的参数并像使用它一样

$formFactory->createNamedBuilder('name', FormType::class, $data)...

成功了。


推荐阅读