Doctrine中两列的唯一值

3

我有一个名为Dimension的实体。它有三个属性 - ID、宽度和高度。 ID是主键。在表中,维度应该是唯一的,因此只能有一个记录具有给定的维度(例如40x30)。我需要设置什么约束? uniqueConstraints={@UniqueConstraint(name="dimension", columns={"width", "height"})}是否正确?


3
给使用@UniqueConstraint注释的人一个提示:你需要导入注释:use Doctrine\ORM\Mapping\UniqueConstraint; - Denes Papp
1个回答

14

来自文档,

@UniqueConstraint注释用于实体类级别的@Table注释中,它允许提示SchemaTool在指定表列上生成数据库唯一约束。 它只在SchemaTool模式生成上下文中有意义。

必需属性:

  • name:索引名
  • columns:列数组。

答案是YES

/**
 * @Entity
 * @Table(name="xxx",uniqueConstraints={@UniqueConstraint(name="dimension", columns={"width", "height"})})
 */
class Dimension

那么应该就可以完成工作了。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接