如何在symfony2中使用额外字段实现多对多?

时间:2016-02-22 11:49:39

标签: php symfony doctrine-orm

我有"客户","产品"和#34;版本" tables.Each客户,可以有多个产品,每个产品都有多个版本。我创建了多对多的关系" customers_products"一切都很完美。

此外,我在"产品"之间建立了一对多关系。和"版本"。

问题: 如何在" customers_products"中添加额外的列(version_id)因此我可以构建表单,用户可以选择产品和版本来创建新客户。

2 个答案:

答案 0 :(得分:4)

一旦关联有数据,它就不再是一种关联。

您必须实施两个const而不是ManyToOne

有关完整示例,请参阅此great answer上的question

您可以通过Google搜索问题的标题获得许多其他示例。

答案 1 :(得分:0)

在多对多关联中添加一个额外的列实际上会改变该关系的含义。为了用Doctrine表示,你需要将关联更改为三个实体之间的一对多/多对一。

您的域模型中最终会有三个实体,这样您就可以访问CustomerProduct实体的版本。

您可以在Doctrine's docs中阅读更详细的解释。