【发布时间】:2017-08-03 22:09:20
【问题描述】:
我正在做一个具有这种模型的项目。
存储所有供应商详细信息的供应商表 - 供应商就像提供某些服务的公司。
供应商
id | name
----+-------
1 | abc
2 | def
然后我有一个服务表,其中包含供应商可以提供的所有服务的列表:
服务
id | name
---+----------------
1 | abc
2 | def
3 | ghi
还有一个区域表,其中包含供应商可以选择的所有区域列表,如果他们想在该区域提供服务。
区域
id | name
---+------
1 | abc
2 | def
3 | ghi
现在我想要一个数据透视表,其中存储了哪个供应商在哪个区域以什么价格提供了哪些服务的详细信息,所以我的数据透视表结构是这样的:
vendor_id | service_id | area_id | price
-----------+------------+---------+---------
1 | 1 | 2 | 25.00
1 | 1 | 1 | 24.00
2 | 1 | 1 | 23.00
等等……
所以,现在我为区域服务和供应商提供了 3 种不同的雄辩模型;但是,由于数据透视表包含 3 个外键,因此每次供应商更改其偏好时,我都无法正确更新数据透视表。
您能否建议我在这种情况下定义关系的方法,或者我应该更改我的表结构来存储这些数据吗?
【问题讨论】:
-
与其将其视为一个支点,不如将其视为一个实体,您可以将其称为提供的服务或任何您想要的名称。并为它创建一个雄辩的模型
-
我在 2020 年搜索了很多,但一无所获。您是如何附加和同步 3 个外键的?因为我必须在数据库中完成相同的场景。
标签: php mysql database eloquent