Sto cercando di trovare una buona (e veloce) soluzione al seguente problema:
Ho due modelli con cui sto lavorando, chiamiamoli giocatori e squadre. Un giocatore può far parte di più squadre e una squadra può avere più giocatori). Sto lavorando alla creazione di un elemento dell'interfaccia utente in un modulo che consente a un utente di selezionare più team (caselle di controllo). Man mano che l'utente seleziona (o deseleziona) le squadre, vorrei visualizzare le squadre raggruppate per giocatore.
Quindi per esempi:
Se le squadre selezionate non hanno giocatori che si intersecano, ogni squadra avrebbe la propria sezione.
Se l'utente seleziona due squadre e hanno gli stessi giocatori, ci sarebbe una sezione contenente i nomi delle due squadre e di tutti i giocatori.
Se TEAM_A ha giocatori [1, 2, 4, 5] e TEAM_B ha giocatori [1, 3, 5, 6]. Ci sarebbero le seguenti sezioni: SECTION_X = [TEAM_A, TEAM_B, 1, 5], SECTION_Y = [TEAM_A, 2, 3], SECTION _Z = [TEAM_B, 3, 5]
Spero sia chiaro. In sostanza, voglio trovare le squadre che i giocatori hanno in comune e raggruppare. Stavo pensando che forse c'è un modo per farlo navigando in un grafico bipartito? Non sono esattamente sicuro di come e potrei pensare troppo. Speravo di farlo creando un qualche tipo di struttura di dati sul server e utilizzandolo sul client. Mi piacerebbe sentire i tuoi suggerimenti e apprezzo qualsiasi aiuto tu possa dare!
Team
dovrebbe avere un campo chiamatoplayers
che richiede una relazione molti-a-molti con l'altro modelloPlayer
. Ciò consente di recuperare quali giocatori sono presenti in ciascuna squadra e quali squadre sono associate a ciascun giocatore.