私は次の問題に対する優れた(そして高速な)解決策を見つけ出そうとしています:
使用しているモデルが2つあります。それらをプレイヤーとチームと呼びましょう。プレーヤーは複数のチームに所属でき、チームは複数のプレーヤーを持つことができます)。ユーザーが複数のチーム(チェックボックス)を選択できるようにするフォーム上のUI要素の作成に取り組んでいます。ユーザーがチームを選択(または選択解除)しているときに、プレーヤーごとにグループ化されたチームを表示します。
例として:
選択したチームに交差するプレーヤーがいない場合、各チームには独自のセクションがあります。
ユーザーが2つのチームを選択し、それらに同じプレーヤーがいる場合、2つのチームとすべてのプレーヤーの名前を含むセクションが1つあります。
TEAM_Aにプレーヤー[1、2、4、5]があり、TEAM_Bにプレーヤー[1、3、5、6]がある場合。次のセクションがあります:SECTION_X = [TEAM_A、TEAM_B、1、5]、SECTION_Y = [TEAM_A、2、3]、SECTION _Z = [TEAM_B、3、5]
私はそれが明確であることを望みます。基本的に、プレイヤーが共通して持っているチームを見つけ、それによってグループ化したいと考えています。私は多分二部グラフをナビゲートしてこれを行う方法があるのではないかと思っていましたか?正確にはわからないけど、考えすぎているかもしれません。サーバー上にあるタイプのデータ構造を作成し、それをクライアント上で使用することでこれを実現したいと思っていました。私はあなたの提案を聞きたいと思います、そしてあなたが与えることができるどんな助けにも感謝します!
Team
は、players
他のモデルとの多対多の関係を必要とすると呼ばれるフィールドが必要であることを指示できますPlayer
。これにより、各チームに所属しているプレーヤーと、各プレーヤーに関連付けられているチームを取得できます。