1

我有多个模型(事件、家务、账单和列表),每个模型都有自己的表格。我希望能够将这些实例中的任何一个组合在一起,例如将一个事件与要为其购买的物品列表和成本账单组合在一起。

我在想每个表都可以有一个组 ID,我可以通过合并每个表中的 group_id 等于项目 group_id 的记录来获取组中的其他项目。

group = Events.find_by_group_id(self.group_id).concat(Bills.find_by_group_id(self.group_id)) ...

但这似乎是一种不好的方法。

我想到的另一种方法是在两个项目之间使用多态关系

tag
item_1_id | item_1_type | item_2_id | item_2_type
----------+-------------+-----------+------------

但在上面的示例中(一组三个不同的项目)将需要六条记录,每对之间有两条,以便每个项目知道该组中的所有其他项目。

有没有办法通过连接来做到这一点,我应该重新设计一些表吗?

4

0 回答 0