次のユーザーのテーブルがあるとしましょう
ID、タイプ
1、「A」
2、「B」
3、「B」
4、「A」
5、「B」
6、「A」
2 つのユーザー タイプがあります。「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」タイプのユーザーのforeign_keyインデックスを格納する「A」のテーブルを持つことができます(つまり、「これらのユーザーはタイプ「A」です)、「B」についても同様です。 「A」から「B」へ、およびその逆の接続テーブルを介した単純な has_many 関連付け。
「a」が接続されているすべての「B」を生成する ab のようなものと、「b」が接続されているすべての「A」を生成する ba のようなものを入力できるようにしたいと考えています。
私の質問は、「A」と「B」の間のこの多対多の関連付けを、代わりに単一の User モデルを使用して定義できますか? 自己結合は使用できますか?
お時間をいただきありがとうございます