独特的实体 - Symfony2

时间:2013-03-25 13:36:43

标签: validation symfony

独特的实体对我很有用,但有一个问题。我有用户和类别。每个类别都有user_id,以便成为用户创建它的claer以及它所属的用户。我想要的是每个用户的唯一类别 - 因此一个用户不能拥有2个具有相同名称的类别,但是两个不同的用户可以拥有完全相同的类别。

有没有办法以更好的方式实现这一点,例如独特的实体,或者最好编写一个按名称和用户计算类别数量的函数并将其用于验证 - 如果已经有类别的话此用户的给定名称 - 打印一个meassage,否则创建新类别。

1 个答案:

答案 0 :(得分:4)

您可以在类别表中为name和user_id列创建唯一索引。

类似的东西:

* @ORM\Table(name="categories",
*            uniqueConstraints={@ORM\UniqueConstraint(name="name_user_id__idx", 
*                                                     columns={"name", "user_id"})})

并将这些字段名称传递给UniqueEntity