2012-12-10 29 views
2

我跟着this tutorial安裝了SonataAdmin和FOSUserBundle。如何定義/傳遞sonata-admin的實體管理器

現在,我不斷收到此錯誤信息: 類應用程序\索納塔\ UserBundle \實體\用戶

沒有定義的實體管理器,但我怎麼設置/通過EntityManager的? 我還沒有發現任何關於配置它或任何提示這個錯誤的含義。 任何幫助任何人?


編輯#1:

至於問,這裏是我在我的config.yml索納塔迄今:

sonata_block: 
    default_contexts: [cms] 
    blocks: 
     sonata.admin.block.admin_list: 
      contexts: [admin] 
     sonata.block.service.text: 
     sonata.block.service.rss: 

編輯#2 :

我添加了實體管理器con Doctrine2 ORM Admin的配置部分你在文檔中提到,如果留空,它應該使用默認值。儘管如此,它並沒有解決我的問題。

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。 仍然沒有解決這個問題的方法。

+1

發佈你的config.yml(至少部分與奏鳴曲,教條和fos有關) –

+0

好點,你我真的沒有太多:( –

+3

你的教條ORM'auto_mapping'選項是否設置爲true?如果沒有,你必須手動告訴哪些類的Doctrine必須作爲實體來處理。 – Damien

回答

2

什麼在我的config.yml缺少的是:

doctrine: 
    [...] 
    orm: 
    [...] 
    entity_managers: 
     default: 
     mappings: 
      ApplicationSonataUserBundle: ~ 
      SonataUserBundle: ~ 
5

當您使用 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 \演示之前....

+0

很久以前,我放棄了Admin Bundle。感謝已經回答的delat回答問你,在我的下一個symfony項目中,我會嘗試你的解決方案。 –

相關問題