[2个相同类中的单独唯一约束

问题描述 投票:0回答:1

如何在同一表/类中添加2个单独的唯一约束?我有这个:

@ORM\Table(name="test", uniqueConstraints={@ORM\UniqueConstraint(name="unique_code", columns={"code"})})

类似这样的东西:

 @ORM\Table(name="test", uniqueConstraints={@ORM\UniqueConstraint(name="unique_code", columns={"code"}, name="unique_value", columns={"value"})})

我不想统一他们。谢谢

doctrine
1个回答
1
投票
代替在类上设置唯一性约束,您可以通过在列定义中添加该选项来使每个列都是唯一的:

/** * @ORM\Entity */ class MyEntity { // ... /** * @ORM\Column(unique=true) */ private $code; /** * @ORM\Column(unique=true) */ private $value; }

当您想使字段的组合成为唯一的,即代码和值的某种组合只能出现一次时,在类上设置唯一约束最有用。

或者,您可以在列表中提供多个约束:

/** * @ORM\Table( * uniqueConstraints={ * @ORM\UniqueConstraint(name="unique_code", columns={"code"}), * @ORM\UniqueConstraint(name="unique_value", columns={"value"}) * } * ) */ class MyEntity { ... }

© www.soinside.com 2019 - 2024. All rights reserved.