Exception SonataUserBundle FOSUserBundle Uniquentity电子邮件和;用户名
我有自己的用户类,它继承了索纳塔的BaseUserException SonataUserBundle FOSUserBundle Uniquentity电子邮件和;用户名,exception,unique,fosuserbundle,sonata-admin,sonata-user-bundle,Exception,Unique,Fosuserbundle,Sonata Admin,Sonata User Bundle,我有自己的用户类,它继承了索纳塔的BaseUser(Sonata\UserBundle\Entity\BaseUser) 我的问题:如果我尝试使用现有电子邮件从sonata admin创建用户,我会遇到以下异常: “创建对象失败:应用程序\Sonata\UserBundle\Entity\User” SQLSTATE[23505]:唯一冲突:7错误:重复键值违反唯一约束 详细信息:密钥(电子邮件\u规范)=(test@test.com)已经存在 我试着按照一些文档和票证中的建议使用Uniquen
(Sonata\UserBundle\Entity\BaseUser)
我的问题:如果我尝试使用现有电子邮件从sonata admin创建用户,我会遇到以下异常:
“创建对象失败:应用程序\Sonata\UserBundle\Entity\User”
SQLSTATE[23505]:唯一冲突:7错误:重复键值违反唯一约束
详细信息:密钥(电子邮件\u规范)=(test@test.com)已经存在
我试着按照一些文档和票证中的建议使用Uniquentity,使用正确的使用声明,但没有用
我在sonata admin的其他实体上使用Uniquentity注释没有问题,并且我在表单中得到一条很好的消息,通知用户已经有一个实体具有该名称/标题,而不是异常。但对于用户实体来说,它的工作方式完全不同
以下是我在AppKernel中注册sonata用户包的方式:
new Application\Sonata\UserBundle\ApplicationSonataUserBundle('FOSUserBundle')
扩展FOSUserBundle
自定义用户实体中的use语句(由EasyExtends bundle生成,只是我添加了一些自定义列&与其他实体的一对多关系,如ex:Project):
这是用户类的注释:
/**
* User
*
* @ORM\Table(name="fos_users")
* @ORM\Entity
* @UniqueEntity("username")
* @UniqueEntity("username_canonical")
* @UniqueEntity("email")
* @UniqueEntity("email_canonical")
*/
这是我对sonata_用户的配置:
sonata_user:
security_acl: true
manager_type: orm
class:
user: Application\Sonata\UserBundle\Entity\User
group: Application\Sonata\UserBundle\Entity\Group
这是fos_用户的配置:
fos_user:
db_driver: orm
firewall_name: admin, user
user_class: Application\Sonata\UserBundle\Entity\User
group:
group_class: Application\Sonata\UserBundle\Entity\Group
group_manager: sonata.user.orm.group_manager
service:
user_manager: sonata.user.orm.user_manager
我正在使用一个自定义的管理类
parameters:
#use custom user admin class
sonata.user.admin.user.class: Application\Sonata\UserBundle\Admin\Model\UserAdmin
(我也尝试过使用默认的admin类)
这是我的sonata管理配置:
索纳塔行政:
安全:
处理程序:sonata.admin.security.handler.acl
标题:我的应用
模板:
布局:CoreBundle:Admin:standard_layout.html.twig
我还尝试用自己的验证规则覆盖validation.yml/validation.xml文件。。。但是他们被忽视了或者类似的
我没有主意了。如果你能帮助我,我将非常感激 这对我来说很有用:
<?php
namespace Application\Sonata\UserBundle\Entity;
...
use Doctrine\ORM\Mapping as ORM;
use Gedmo\Mapping\Annotation as Gedmo;
use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;
...
/**
* User
*
* @ORM\Table(name="user")
* @ORM\Entity()
* @UniqueEntity("username")
* @UniqueEntity("email")
*/
class User extends AbstractedUser implements UserInterface
...
<?php
namespace Application\Sonata\UserBundle\Entity;
...
use Doctrine\ORM\Mapping as ORM;
use Gedmo\Mapping\Annotation as Gedmo;
use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;
...
/**
* User
*
* @ORM\Table(name="user")
* @ORM\Entity()
* @UniqueEntity("username")
* @UniqueEntity("email")
*/
class User extends AbstractedUser implements UserInterface
...
* @UniqueEntity("username")
* @UniqueEntity("email")