订单表

时间:2016-07-15 20:36:54

标签: ruby-on-rails database-design relationship

我很难为我正在做的业余爱好项目设置模型/表格关系。我所拥有的是一个订单,订单将有一个或多个包,每个包有一个或多个产品,每个产品将有一个分配给它的区域。订单和同一包装中可能有多个相同的产品,但每个产品都有不同的区域 和不同的数量。我正在努力确定如何建立关系。

在一天结束时,我需要运行一份报告,向我显示订单详细信息,其中列出了订单中的所有包裹以及每个包裹中包含的所有产品和区域。我还需要一份报告,向我显示订单中每种产品的订单和总和(此产品上没有包装)。我使用Rails ActiveRecord我认为相信会有一些多态关系,但我很难识别它们,因为这超出了我的简单"一切都有一对多关系&# 34;思。

如何以智能方式将这些表放在一起?我搜索了类似的架构图,但没有取得多大成功。

enter image description here

这是我为关系思考的基础知识,但我不确定Rails模型会是什么样子。似乎订单下的每个关系都是多态的;我如何在Rails中嵌套这些关系?

1 个答案:

答案 0 :(得分:0)

我认为你需要一些JOIN表。

Order可以有多个Products;一个Product可以添加到许多Orders

在这种情况下,您将拥有一个包含两列的JOIN表:OrderProduct的主键。这两者将是一个复合主键。

我不知道Area在你的架构中意味着什么,但也许这个建议会打破你的精神僵局。