Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/53.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 订单表格_Ruby On Rails_Database Design_Relationship - Fatal编程技术网

Ruby on rails 订单表格

Ruby on rails 订单表格,ruby-on-rails,database-design,relationship,Ruby On Rails,Database Design,Relationship,我很难为我正在从事的一个爱好项目建立模型/表格关系。我有一个订单,订单将有一个或多个包,每个包有一个或多个产品,每个产品将有一个分配给它的区域。订单上和同一包装中可以有多个相同的产品,但每个产品都有不同的区域 而且数量不同。我正在努力确定这些关系是如何建立的 在一天结束时,我需要运行一个报告,显示订单详细信息,列出订单上的所有包以及每个包中包含的所有产品和区域。我还需要一份报告,显示我的订单和订单上每个产品的所有数量的总和(这一个没有包装)。我使用的是Rails ActiveRecord,我相信

我很难为我正在从事的一个爱好项目建立模型/表格关系。我有一个订单,订单将有一个或多个包,每个包有一个或多个产品,每个产品将有一个分配给它的区域。订单上和同一包装中可以有多个相同的产品,但每个产品都有不同的区域 而且数量不同。我正在努力确定这些关系是如何建立的

在一天结束时,我需要运行一个报告,显示订单详细信息,列出订单上的所有包以及每个包中包含的所有产品和区域。我还需要一份报告,显示我的订单和订单上每个产品的所有数量的总和(这一个没有包装)。我使用的是Rails ActiveRecord,我相信会有一些多态关系,但我很难确定它们,因为这超出了我简单的“一切都有一对多的关系”思维

如何以智能的方式将这些表组合在一起?我搜索过类似的模式图,但没有太多成功


这是我对关系的基本想法,但我不确定Rails模型会是什么样子。似乎从订单到订单的每一种关系都是多态的;如何将这些关系嵌套在Rails中?

我认为您需要一些联接表

一个
订单
可以有许多
产品
;一个
产品
可以添加到许多
订单

在这种情况下,您将有一个包含两列的联接表:
Order
Product
的主键。这两个键合在一起将是一个复合主键


我不知道在你的模式中,
Area
是什么意思,但也许这个建议会打破你的思维僵局。

你说的多态性是指,一个订单包就是一个X?虽然这是术语的典型通用用法,但在ActiveRecord中。