[英]How to define/pass the entity manager for sonata-admin
我按照本教程安裝了帶有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,即使你默認也是如此。 仍然沒有解決這個問題。
當你使用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之前缺少“\\”....
我的config.yml中缺少的是:
doctrine:
[...]
orm:
[...]
entity_managers:
default:
mappings:
ApplicationSonataUserBundle: ~
SonataUserBundle: ~
剛出現這個問題。
確保您輕松擴展SonataUserBundle:
php app/console sonata:easy-extends:generate SonataUserBundle
並將其加載到AppKernel.php中
new Application\Sonata\UserBundle\ApplicationSonataUserBundle(),
請參閱此處的文檔: https : //github.com/sonata-project/SonataUserBundle/blob/master/Resources/doc/reference/installation.rst
然后自動化就足夠了,您不需要定義手動映射。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.