【发布时间】:2016-09-29 15:09:28
【问题描述】:
我想在“用户名”和“电子邮件”字段上设置唯一约束,但它不起作用:
use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Validator\Constraints as Assert;
use FOS\UserBundle\Model\User as BaseUser;
use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;
/**
* @ORM\Table(name="acteurs")
* @ORM\Entity(repositoryClass="UserBundle\Repository\ActeurRepository")
* @ORM\InheritanceType("JOINED")
* @UniqueEntity(fields="email", message="Cet email existe déjà.")
* @UniqueEntity(fields="username", message="Ce login existe déjà.")
*/
abstract class Acteur extends BaseUser { ... }
表单已通过 symfony 验证,但出现数据库错误:
SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicata du champ 'test@gmail.com' pour la clef 'UNIQ_B85835ACA0D96FBF'
怎么了?
【问题讨论】:
-
不,它不适用于多列。
标签: forms symfony doctrine fosuserbundle