我有一个名为Dimension的实体。它有三个属性 - ID、宽度和高度。
ID是主键。在表中,维度应该是唯一的,因此只能有一个记录具有给定的维度(例如40x30)。我需要设置什么约束?
uniqueConstraints={@UniqueConstraint(name="dimension", columns={"width", "height"})}
是否正确?
我有一个名为Dimension的实体。它有三个属性 - ID、宽度和高度。
ID是主键。在表中,维度应该是唯一的,因此只能有一个记录具有给定的维度(例如40x30)。我需要设置什么约束?
uniqueConstraints={@UniqueConstraint(name="dimension", columns={"width", "height"})}
是否正确?
来自文档,
@UniqueConstraint注释用于实体类级别的@Table注释中,它允许提示SchemaTool在指定表列上生成数据库唯一约束。 它只在SchemaTool模式生成上下文中有意义。
必需属性:
- name:索引名
- columns:列数组。
答案是YES
/**
* @Entity
* @Table(name="xxx",uniqueConstraints={@UniqueConstraint(name="dimension", columns={"width", "height"})})
*/
class Dimension
那么应该就可以完成工作了。
@UniqueConstraint
注释的人一个提示:你需要导入注释:use Doctrine\ORM\Mapping\UniqueConstraint;
- Denes Papp