2015-10-20 63 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

相关问题