使用唯一约束使用户无法登录symfony2

使用唯一约束使用户无法登录symfony2,symfony,symfony-2.1,Symfony,Symfony 2.1,我在用户的注册表单中使用了用户名的唯一约束 用户实体具有以下代码 /* * @UniqueEntity(fields="username",message="Username is already in use") */ class users { /** * @var string * @Assert\NotBlank(message="username should not be blank") * @ORM\Column(name="usern

我在用户的注册表单中使用了用户名的唯一约束

用户实体具有以下代码

/*

* @UniqueEntity(fields="username",message="Username is already in use")
*/

class users

{

    /**
     * @var string
     * @Assert\NotBlank(message="username should not be blank")
     * @ORM\Column(name="username", type="string", length=40)
     *
     */
    private $username;

    /**
     * @var string
     * @Assert\NotBlank(message="password should not be blank")
     * @ORM\Column(name="password", type="string", length=40)
     */
    private $password;
}
对于注册,当登录时,这个实体的每一件事情都很顺利,它显示了已经在使用的错误用户名。我们能否将唯一性约束保持在控制器内,即表单内,以便仅对注册表应用唯一性

使用验证组:

(当你点击链接时,你会看到非常相似的情况:用户和注册)

编辑

我假设您的用户实体中有一个“user\u type”字段(例如,可能的值可以是:“normal\u user”和“affiliate”)。如果是这样,那么您只需要将这两个字段的组合指定为唯一。像这样:

@UniqueEntity(fields={"username", "user_type"},message="Username is already in use") */

谢谢你这么多塞浦路斯人这个链接真的帮了我很多对不起塞浦路斯人我遇到了另一个问题请帮助我这个我唯一的实体只为一个表工作,我希望它能与所有的表一起工作,所有的表都应该有不同的估价师,我不明白你在问什么。你说所有的桌子都应该这样是什么意思?请尝试重新表述您的问题(标点符号也会很有帮助;))我有一个用户注册,affliate注册都将值存储在两个不同的表中。我为两个用户创建了唯一的实体affliate。因此它不允许重复该表的用户名。但是affliate,用户可以注册相同的名字,如果你不清楚,我会张贴我的问题,请检查它塞浦路斯