2013-12-16 125 views
1

我正在Symfony2上運行Symfony2應用程序,我正在使用FOSUserBundle來管理我的用戶。如何使用StofDoctrineBundle登錄用戶名和電子郵件地址?

現在我執行StofDoctrineExtensionsBundle來使用可登錄擴展。不幸的是,我無法登錄usernameemail。如果我嘗試通過陽明啓動日誌:

Acme\MyBundle\Entity\User: 
    type: entity 
    gedmo: 
    loggable: true 
    fields: 
    id: 
     ... 
    username: 
     type: string 
     gedmo: 
     - versioned 
    email: 
     type: string 
     gedmo: 
     - versioned 

我獲得列「用戶名」的

重複定義的實體在一個領域或鑑別列映射。

於是,我就激活註釋記錄(注意,我通過陽明定義我的所有其他實體):

use FOS\UserBundle\Model\User as BaseUser; 
use Gedmo\Mapping\Annotation as Gedmo; 

/** 
* @Gedmo\Loggable 
*/ 
class User extends BaseUser { 
    ... 
    /** 
    * @var string 
    * @Gedmo\Versioned 
    */ 
    protected $username; 

    /** 
    * @var string 
    * @Gedmo\Versioned 
    */ 
    protected $email; 

不過:什麼也沒有發生。記錄我的User的所有其他屬性,但不是usernameemail

爲了激活這兩種屬性的日誌記錄,我必須更改什麼?或者這是FOSUserBundle和StofDoctrineExtensionsBundle之間的相互依賴關係,我無法影響?

+0

您有重複場'username'。你可能不得不把'email'放在那裏。 – Manolo

+0

啊,沒有抱歉。那只是在這個sniplet。我的代碼中正確無誤。我更新了,謝謝你的信息。 –

回答

0

你有沒有加入這個配置?:

//app/config/config.yml 
    orm: 
     auto_generate_proxy_classes: "%kernel.debug%" 
     auto_mapping: true 
     mappings: 
     translatable: 
      type: annotation 
      alias: Gedmo 
      prefix: Gedmo\Translatable\Entity 
      dir: "%kernel.root_dir%/../vendor/gedmo/doctrine-extensions/lib/Gedmo/Translatable/Entity" 
     loggable: 
      type: annotation 
      alias: Gedmo 
      prefix: Gedmo\Loggable\Entity 
      dir: "%kernel.root_dir%/../vendor/gedmo/doctrine-extensions/lib/Gedmo/Loggable/Entity" 
     tree: 
      type: annotation 
      alias: Gedmo 
      prefix: Gedmo\Tree\Entity 
      dir: "%kernel.root_dir%/../vendor/gedmo/doctrine-extensions/lib/Gedmo/Tree/Entity" 
     sluggable: 
      type: annotation 
      alias: Gedmo 
      prefix: Gedmo\Sluggable\Entity 
      dir: "%kernel.root_dir%/../vendor/gedmo/doctrine-extensions/lib/Gedmo/Tree/Entity" 
+0

是的,正如我的問題所寫,可登錄的工作,但不是在用戶名和電子郵件。 –

相關問題