2014-10-10 88 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。