让我们说我有一张名为" people"这里挤满了很多人。我还有一张名为drinks
的桌子,里面装满了不同的饮料。
我希望将“#34; people"桌子上有各种各样的饮料"他们点了。
当然,很多人可以订购许多不同的饮料,包括其他人订购的同一种饮料,因此我认为值得多对多的关系。
但是,我还希望包含每个人订购饮料的顺序订单。我认为这也应该与多对多连接表一起进入& #34;为person_id"和" drink_id",但我想知道这是否是正确的数据库结构...
答案 0 :(得分:0)
没有理由不这样做。您的直通表可以包含额外的列,以提供有关该关系的元信息。 fuelphp的唯一限制是你必须在people
和drinks
之间建立第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不会为关系记录创建一个对象。