Symfony 使用外部表列的唯一约束

Symfony 使用外部表列的唯一约束,symfony,doctrine,constraints,Symfony,Doctrine,Constraints,假设以下表格和列: 公司(id) 产品种类(id、公司id) 产品(id、产品种类id、ean) 产品种类属于一家公司: @ORM\MANYTONE(targetEntity=“AppBundle\Entity\Company”) 产品属于一种产品类型: @ORM\MANYTONE(targetEntity=“AppBundle\Entity\ProductKind”) (product.product\u kind\u id.company\u id,product.ean)必须是唯一的。

假设以下表格和列:

公司(id)

产品种类(id、公司id)

产品(id、产品种类id、ean)


产品种类属于一家公司:

@ORM\MANYTONE(targetEntity=“AppBundle\Entity\Company”)

产品属于一种产品类型:

@ORM\MANYTONE(targetEntity=“AppBundle\Entity\ProductKind”)


(product.product\u kind\u id.company\u id,product.ean)必须是唯一的。换句话说:每个产品在整个公司都有独特的ean


如何确保此关系是唯一的?

您可以在数据库级别添加自己独特的约束:这将防止您保留不正确的数据。然后你可能想使用Symfony验证器来防止你存储不正确的数据。我同意CeradHank的观点。我试试看。