Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Symfony FormTypeMapping不适用于SonataCoreBundle_Symfony_Symfony Forms_Sonata Admin_Symfony 3.3 - Fatal编程技术网

Symfony FormTypeMapping不适用于SonataCoreBundle

Symfony FormTypeMapping不适用于SonataCoreBundle,symfony,symfony-forms,sonata-admin,symfony-3.3,Symfony,Symfony Forms,Sonata Admin,Symfony 3.3,我试图使用sonata项目中的一些捆绑包来编辑1:N关联: MediaList可以分配多个Media对象。条令配置是正确的,MediaAdmin的配置也是正确的,它是我的Media实体的管理类。MediaList管理员应嵌入“我的媒体”的表单,并允许在列表中添加/删除项目: protected function configureFormFields(FormMapper $formMapper) { $formMapper->add('media', 'sonat

我试图使用sonata项目中的一些捆绑包来编辑1:N关联:

MediaList
可以分配多个
Media
对象。条令配置是正确的,
MediaAdmin
的配置也是正确的,它是我的
Media
实体的管理类。MediaList管理员应嵌入“我的媒体”的表单,并允许在列表中添加/删除项目:

protected function configureFormFields(FormMapper $formMapper)
    {
        $formMapper->add('media', 'sonata_type_collection',
            [
                'by_reference' => false,
            ],
            [
                'edit' => 'inline',
                'inline' => 'table'
            ]);
    }
在symfony 3中,对字符串格式类型(如“sonata_type_collection”)的支持已被取消。但是,SonataCoreBundle添加了一些应该重新启用此功能的功能(请参阅)

不幸的是,这对我不起作用,我得到一个InvalidArgumentException(无法加载类型“sonata_type_collection”)

  • 我确保
    SonataCoreBundle
    SonataAdminBundle
    中的
    FormHelper::registerFormTypeMapping
    通过断点和调试得到调用
  • 我尝试改用FQCN(
    Sonata\CoreBundle\Form\Type\CollectionType
    ),但Sonata随后在内部使用
    Sonata\u Type\u admin
    ,当我按下“添加”按钮时失败
  • 它在几天前工作,自从我运行了
    composer update
    ,但没有更改composer.json中的任何内容后就失败了
那么如何在symfony3.X中使用这些表单类型呢?是否需要其他配置

My composer.json(不是所有条目,但我认为最相关):


我找到了一个适合我的配置。
我在composer.json中将
最小稳定性设置为
dev
。将其更改为稳定并更新后,它再次工作。

我发现一个配置适合我。 我在composer.json中将
最小稳定性设置为
dev
。将其更改为
稳定
并更新后,它会再次工作

"php": ">=5.5.9",
"doctrine/doctrine-bundle": "^1.6",
"doctrine/orm": "^2.5",
"sonata-project/admin-bundle": "^3.20.1",
"sonata-project/doctrine-orm-admin-bundle": "^3.1",
"symfony/symfony": "3.3.2",