2015-10-20 65 views
0

我在我的項目中集成了FOS捆綁包。現在,我想讓多個用戶使用同一封電子郵件,但FOS不會允許它。FOS Bundle如何允許重複的電子郵件ID插入?

我該如何更改用戶實現以允許?

+0

什麼電子郵件ID?提供更多信息 –

+1

這可能是一個壞主意,因爲FOS假定電子郵件對於某些功能(例如密碼恢復)是唯一的。 – Gerry

+0

我知道@Gerry,但我目前的項目允許多個用戶使用同一封電子郵件,所以我需要支持這個(可怕的)功能。 – Jean

回答

1

我在我的項目中遇到了同樣的問題。我解決了它覆蓋了我的User實體上的一些學說定義,該定義擴展了FOS'BaseUser

我做這樣的:

/** 
* @ORM\Entity() 
* @ORM\Table(name="user", uniqueConstraints={ 
* @ORM\UniqueConstraint(name="user_U_1", columns={"username"}) 
* }) 
* @ORM\AttributeOverrides({ 
*  @ORM\AttributeOverride(name="emailCanonical", 
*   [email protected]\Column(
*    name="email_canonical", 
*    type="string", 
*    length=255, 
*    nullable=true, 
*    unique=false 
*  ) 
* ), 
*  @ORM\AttributeOverride(name="usernameCanonical", 
*   [email protected]\Column(
*    name="username_canonical", 
*    type="string", 
*    length=255, 
*    nullable=true, 
*    unique=false 
*  ) 
* ) 
* }) 
*/ 
class User extends BaseUser 
{ 
    [...] 
} 

訣竅做重新定義email_canonical字段設置unique=false

相關問題