Column + ManyToOne关系的UniqueEntity验证

时间:2014-10-10 08:42:54

标签: symfony

我尝试创建多列唯一验证约束但它不起作用。这是我的模特:

/**
 * 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有电子邮件example@example.com和webinar_id 6,而user2尝试使用相同的数据进行注册,而不会产生验证错误。

我正在使用Symfony2.5

1 个答案:

答案 0 :(得分:0)

哎呀,我发现了问题。验证模型时未设置网络研讨会。我必须在验证模型之前设置webinar_id。