sto*_*fln 3 symfony fosuserbundle
嗨,我有自己的User班级,继承FOS\UserBundle\Entity\User.另外我写了自己的注册例程.现在我遇到的问题是表单不能确保用户名是唯一的.我总是得到SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry 'myusername' for key 'UNIQ_2DA1797792FC23A8'
我尝试添加@UniqueEntity("email")文档[1]中所述的注释,但没有任何影响.
有人知道可能出错了什么?
[1] http://symfony.com/doc/current/reference/constraints/UniqueEntity.html
小智 12
如果您使用的是fos_user软件包,则只需使用UniqueEntity约束:http://symfony.com/doc/2.0/reference/constraints/UniqueEntity.html .
要实现它,只需确保您的User类保留正确的use语句,然后确保注释,就像这样(假设您正在使用注释):
<?php
// ...
use Symfony\Component\Validator\Constraints as Assert;
use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;
/**
* @ORM\Entity
* @ORM\Table(name="fos_user")
* @UniqueEntity("email")
* @UniqueEntity("username")
*/
class User extends BaseUser
{ /* ... */ }
Run Code Online (Sandbox Code Playgroud)
Kri*_*ith 10
该约束已存在于FOS包中.您可能需要validation_groups在表单上设置选项array('Registration').
| 归档时间: |
|
| 查看次数: |
9127 次 |
| 最近记录: |