2016-06-10 58 views
1

我正在实施一个包含两个实体的系统:产品和类别。我想创建这两个实体之间的多对多关系,但我不想在Doctrine中使用多对多选项。我希望能够自己创建中间表(产品类别),以便以后我也可以访问此表。我应该如何定义这三个表之间的关系? (考虑到我的项目中产品和类别之间的关系是多对多的)。简单的说明性示例与教条ORM注释非常赞赏,所以我不认为这是错的。非常感谢。最佳做法是什么?在Doctrine中创建多对多关系的最佳实践。

+0

看这个问题http://stackoverflow.com/questions/15616157/doctrine-2-and-many-to-many-link-table-with-an-extra-field –

+0

这会简单的组合o一对多的任何多对一的关系。 –

回答

3

您可以添加一个名为的中间实体,例如“ProductCategory”。然后在“产品”和“产品类别”之间创建一对多关系,并在“类别”和“产品类别”之间建立另一个一对多关系。

该解决方案甚至允许您向“ProductCategory”表添加一些额外字段。

Product [1]------>[n] ProductCategory [n]<-------[1] Category