教义和复合唯一键

新手上路,请多包涵

我想在学说中做复合唯一键。这些是我的领域:

 /**
 * @var string $videoDimension
 *
 * @Column(name="video_dimension", type="string", nullable=false)
 */
private $videoDimension;

/**
 * @var string $videoBitrate
 *
 * @Column(name="video_bitrate", type="string", nullable=false)
 */
private $videoBitrate;

我怎样才能表明那些组合在一起是复合唯一键的学说?

原文由 Nikoole 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 532
2 个回答

回答问题:

 use Doctrine\ORM\Mapping\UniqueConstraint;

/**
 * Common\Model\Entity\VideoSettings
 *
 * @Table(name="video_settings",
 *    uniqueConstraints={
 *        @UniqueConstraint(name="video_unique",
 *            columns={"video_dimension", "video_bitrate"})
 *    }
 * )
 * @Entity
 */

@UniqueConstraint

原文由 Nikoole 发布,翻译遵循 CC BY-SA 4.0 许可协议

如果有人想使用 PHP 8 属性 而不是 Doctrine 注释:

 use Doctrine\ORM\Mapping as ORM;

#[ORM\Entity]
#[ORM\UniqueConstraint(
  name: 'video_unique_idx',
  columns: ['video_dimension', 'video_bitrate']
)]

原文由 Az.Youness 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题