【发布时间】:2014-01-18 10:43:43
【问题描述】:
我有 3 张桌子:
- 产品 - 产品 ID、产品名称、价格、类型、创建时间
- 网关 - gateway_id、gateway_name、create_time
- mapping_product_gateways - mapping_id、gateway_id、product_id
products 和 gateways 表没有任何共同之处。没有外键等。但是当我创建产品时,我将网关选择字段显示为多选字段,其中填充了网关表中的数据。一旦我点击提交按钮插入产品记录,此时所有选定网关的 ID 都将插入到 mapping_product_gateways 表中,具有相同的 product_id 和选定网关 ID。
所以插入后的记录可能如下所示:
产品表记录:
1,产品 1,10 美元,数字,2013 年 10 月 10 日
2,产品 2,13 美元,订阅,2013 年 1 月 1 日
网关表记录:
1,贝宝,2014 年 3 月 1 日
2,信用卡,01/01/2014
3, 2Checkout, 02/01/2014
因此,mapping_product_gateways 记录可能如下所示:
mapping_id、gateway_id、product_id
1、2、1
2、3、1
3、1、2
3、2、2
这意味着产品 ID 1 具有与之关联的网关 2 和 3,而产品 ID 2 具有与之关联的网关 1 和 2。
由于映射和产品表之间没有直接关系,如何在存储库类中建立查询来进行记录的搜索、插入、更新?或者我是否需要创建一个类型的关系 n 实体?
我完全糊涂了..对不起,我对 symfony 很陌生。
谢谢
【问题讨论】:
标签: symfony doctrine-orm