我跟着this tutorial安装了带有FOSUserBundle的SonataAdmin。
现在我不断收到此错误消息: 没有为Application \ Sonata \ UserBundle \ Entity \ User
类定义实体管理器但是如何设置/传递EntityManager? 我没有找到任何关于配置它或任何关于此错误意味着什么的提示。 有人帮忙吗?
编辑#1:
正如所要求的那样,到目前为止,这是我在config.yml中为sonata所拥有的内容:
sonata_block:
default_contexts: [cms]
blocks:
sonata.admin.block.admin_list:
contexts: [admin]
sonata.block.service.text:
sonata.block.service.rss:
编辑#2:
我为Doctrine2 ORM Admin添加了实体管理器配置部分,在文档中提到如果保留为null,则应该使用默认值。不过,它并没有解决我的问题。
sonata_doctrine_orm_admin:
# default value is null, so doctrine uses the value defined in the configuration
entity_manager: '@doctrine.orm.entity_manager'
编辑#3: 我确实将auto_mapping设置为true,即使你默认也是如此。 仍然没有解决这个问题的方法。
答案 0 :(得分:6)
使用时
php app/console sonata:admin:generate
它要求完全限定的模型类,所以你写的东西如下:
\Acme\DemoBundle\Entity\DemoEntity
问题是,当生成器为您创建服务时,它会添加行:
arguments: [~, \Acme\DemoBundle\Entity\DemoEntity, AcmeDemoBundle:DemoEntityAdmin]
这打破了它。
适用于:
arguments: [~, Acme\DemoBundle\Entity\DemoEntity, AcmeDemoBundle:DemoEntityAdmin]
注意在Acme \ Demo ....
之前缺少“\”答案 1 :(得分:2)
我的config.yml缺少的是:
doctrine:
[...]
orm:
[...]
entity_managers:
default:
mappings:
ApplicationSonataUserBundle: ~
SonataUserBundle: ~
答案 2 :(得分:2)
刚出现这个问题。
确保您轻松扩展了SonataUserBundle:
php app/console sonata:easy-extends:generate SonataUserBundle
并将其加载到AppKernel.php
中new Application\Sonata\UserBundle\ApplicationSonataUserBundle(),
然后自动化就足够了,您不需要定义手动映射。