假设我有下表的用户
id,类型
1,“A”
2,“B”
3,“B”
4,“A”
5,“B”
6,“A”
有两种用户类型。“A”用户和“B”用户。“A”可以连接多个“B”,“B”可以连接多个“A”。假设我们有以下“连接”表
id, A_id, B_id
1, 1, 2
2, 4, 2
3, 4, 3
4, 6, 5
5, 1, 5
6, 4, 5
这将代表下图:
我可以有一个“A”表来存储具有“A”类型(即“这些用户是“A”类型)的用户的外键索引,对于“B”也是如此,在这种情况下我可以定义一个通过连接表从“A”到“B”进行简单的 has_many 关联,反之亦然。
我希望能够输入类似 ab 的东西来生成所有与“a”相连的“B”,以及 ba 来生成所有与“b”相连的“A”。
我的问题是:可以使用单个用户模型来定义“A”和“B”之间的这种多对多关联吗?可以使用自加入吗?
感谢您的时间