FuelPHP:多对多连接表中的额外列可能吗?

时间:2014-05-30 11:54:15

标签: php mysql sql many-to-many fuelphp

让我们说我有一张名为" people"这里挤满了很多人。我还有一张名为drinks的桌子,里面装满了不同的饮料。

我希望将“#34; people"桌子上有各种各样的饮料"他们点了。

当然,很多人可以订购许多不同的饮料,包括其他人订购的同一种饮料,因此我认为值得多对多的关系。

但是,我还希望包含每个人订购饮料的顺序订单。我认为这也应该与多对多连接表一起进入& #34;为person_id"和" drink_id",但我想知道这是否是正确的数据库结构...

2 个答案:

答案 0 :(得分:0)

没有理由不这样做。您的直通表可以包含额外的列,以提供有关该关系的元信息。 fuelphp的唯一限制是你必须在peopledrinks之间建立第3个模型才能通过模型​​访问额外的信息。

例如:drink_people是直通表。

'people' has many 'drink_people' 'drink_people' has one 'drink', has one 'people' 'drink' has one 'drink_people'

答案 1 :(得分:0)

请注意,您可以同时使用两者,使用many_many直接访问相关对象,使用through表一对多访问关系数据。

目前唯一的缺点是这意味着两个查询,因为访问many_many不会为关系记录创建一个对象。