Doctrine中两列的唯一值

kma*_*aci 3 sql constraints unique-constraint symfony doctrine-orm

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

Ahm*_*ani 13

文档中,

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

必需属性:

  • name:索引的名称
  • columns:列数组.

然后,anwser是YES

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

应该做的工作.