使用数据透视表引用主键是一个好主意吗?

时间:2016-07-18 19:07:20

标签: php mysql laravel laravel-5.2

我现在正在开发一个Laravel应用程序,这个疑问来到我身边。过程是:一个客户对一些产品提出一个或多个请求,然后,我可以根据他们的产品提供一个或多个交易要求。

我创建了产品,请求和交易Laravel模型,但我需要连接它们。我通过 belongsToMany 方法与Product和Request模型建立了多对多关系。我的问题是如何设置Deal和请求之间的关系。正如我所说,一笔交易可以包含许多产品或产品的请求。

表的结构和关系是: enter image description here

1 个答案:

答案 0 :(得分:0)

我解决了这个问题,创建了一个名为RequestedProduct的新模型,称为“products_requests”表。此外,我删除了主键并为此添加了Id属性。

另外,我需要复合索引(request_id,product_id)不会连续重复,因此我创建了一个唯一索引。