【问题标题】:Unique entity - Symfony2唯一实体 - Symfony2
【发布时间】:2025-12-26 18:55:11
【问题描述】:

唯一实体对我来说非常有用,但有一个问题。我有用户和类别。每个类别都有 user_id,以便更清楚地知道哪个用户创建了它以及它属于哪个用户。我想要的是每个用户的类别都是唯一的 - 所以一个用户不能有 2 个同名的类别,但两个不同的用户可以有完全相同的类别。

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

【问题讨论】:

    标签: validation symfony


    【解决方案1】:

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

    类似:

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

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

    【讨论】:

      最近更新 更多