Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/59.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_Postgresql_Database Design - Fatal编程技术网

Ruby on rails 我应该将一个联接表联接到另一个表吗?

Ruby on rails 我应该将一个联接表联接到另一个表吗?,ruby-on-rails,postgresql,database-design,Ruby On Rails,Postgresql,Database Design,假设我正在构建一个聚餐组织应用程序。我有一个跟踪参与者和事件(MTM)的联接表,我还有一个菜品表,其中的菜品是唯一的,并与每个参与者关联(OTM)。参与者将报名参加活动,并同意带上一道或多道菜 ParticipantEvents联接表将跟踪RSVP,但跟踪参与者为该活动贡献的菜肴的最佳方式是什么 我应该在菜肴和活动之间创建一个连接表吗? 我是否应该在ParticipantEvents联接表和菜品表(ParticipantEvents菜品)之间创建联接表? 有更好的办法吗?这个案子对我来说就像是三

假设我正在构建一个聚餐组织应用程序。我有一个跟踪参与者和事件(MTM)的联接表,我还有一个菜品表,其中的菜品是唯一的,并与每个参与者关联(OTM)。参与者将报名参加活动,并同意带上一道或多道菜

ParticipantEvents联接表将跟踪RSVP,但跟踪参与者为该活动贡献的菜肴的最佳方式是什么

我应该在菜肴和活动之间创建一个连接表吗? 我是否应该在ParticipantEvents联接表和菜品表(ParticipantEvents菜品)之间创建联接表?
有更好的办法吗?

这个案子对我来说就像是三元关系。因此,我将创建一个具有三个外键的三向联接表

Promised (DishID, EventID, ParticipantID)

现在,您可以将其与所有三个表连接起来,为所有参与者生成详细信息。请注意,参与者可以承诺为一个活动提供多个菜肴。

我会在菜肴和参与者活动之间创建一个连接表。@Pablo说了什么。此外,我认为制作是为了让参与者可以报名参加一个活动——如果你的参与者感觉很大方,参与者和菜肴之间的联系如何?只是用盘子。参与者身份证?在你的问题中显示你所有的表格和字段怎么样?布鲁克斯,你说得对。“…一个菜谱表,其中的菜谱是唯一的,并且与每个参与者相关(OTM)。”一个参与者有许多菜谱。我明白了。因此,在这种设计中,一个参与者带着两个盘子参加一个活动,将使用两行数据。这听起来是迄今为止最好的解决方案!