2014-10-10 41 views
0

我試着創建一個多列唯一驗證約束,但它不起作用。這裏是我的型號:Column + ManyToOne關係的UniqueEntity驗證

/** 
* User 
* 
* @ORM\Entity 
* @UniqueEntity({"webinar", "email"}) 
*/ 
class User implements UserInterface, \Serializable { 

... 

/** 
* @var string 
* 
* @ORM\Column(name="email", type="string", length=255) 
* @Assert\NotBlank() 
* @Assert\Email() 
* @Assert\Length(max="255") 
*/ 
private $email; 

... 

/** 
* @ORM\ManyToOne(targetEntity="Wefra\ADHSWebinarBundle\Entity\Webinar", inversedBy="registeredUsers") 
* @ORM\JoinColumn(name="webinar_id", referencedColumnName="id") 
*/ 
private $webinar; 

... 

} 

發生什麼事情是,即使兩列匹配的驗證拋出沒有錯誤。

E.g. user1擁有電子郵件地址[email protected]和webinar_id 6,並且user2嘗試使用相同的數據進行註冊,但未驗證生成錯誤。

我正在使用Symfony2.0

回答

0

哎呀,我發現了這個問題。驗證模型時沒有設置網絡研討會。在驗證模型之前,我必須設置webinar_id。