0
我想建立一個唯一約束的字段「用戶名」和「電子郵件」,但它不工作:FOSUserBundle獨特的實體約束
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 '[email protected]' pour la clef 'UNIQ_B85835ACA0D96FBF'
出了什麼問題?
請看這裏:http://stackoverflow.com/questions/8545561/unique-constraints-in-doctrine-2-symfony-2# 12643186 –
不,它不適用於多列。 – Cliffe