我有"客户","产品"和#34;版本" tables.Each客户,可以有多个产品,每个产品都有多个版本。我创建了多对多的关系" customers_products"一切都很完美。
此外,我在"产品"之间建立了一对多关系。和"版本"。
问题: 如何在" customers_products"中添加额外的列(version_id)因此我可以构建表单,用户可以选择产品和版本来创建新客户。
答案 0 :(得分:4)
一旦关联有数据,它就不再是一种关联。
您必须实施两个const
而不是ManyToOne
。
有关完整示例,请参阅此great answer上的question。
您可以通过Google搜索问题的标题获得许多其他示例。
答案 1 :(得分:0)
在多对多关联中添加一个额外的列实际上会改变该关系的含义。为了用Doctrine表示,你需要将关联更改为三个实体之间的一对多/多对一。
您的域模型中最终会有三个实体,这样您就可以访问CustomerProduct实体的版本。
您可以在Doctrine's docs中阅读更详细的解释。