J'essaie de trouver une bonne (et rapide) solution au problème suivant:
J'ai deux modèles avec lesquels je travaille, appelons-les joueurs et équipes. Un joueur peut appartenir à plusieurs équipes et une équipe peut avoir plusieurs joueurs). Je travaille sur la création d'un élément d'interface utilisateur sur un formulaire qui permet à un utilisateur de sélectionner plusieurs équipes (cases à cocher). Comme l'utilisateur sélectionne (ou désélectionne) des équipes, je voudrais afficher les équipes regroupées par les joueurs.
Donc, pour des exemples:
Si les équipes sélectionnées n'ont pas de joueurs qui se croisent, chaque équipe aurait sa propre section.
Si l'utilisateur sélectionne deux équipes et qu'il a les mêmes joueurs, il y aurait une section contenant les noms des deux équipes et de tous les joueurs.
Si TEAM_A a des joueurs [1, 2, 4, 5] et TEAM_B a des joueurs [1, 3, 5, 6]. Il y aurait les sections suivantes: SECTION_X = [TEAM_A, TEAM_B, 1, 5], SECTION_Y = [TEAM_A, 2, 3], SECTION _Z = [TEAM_B, 3, 5]
J'espère que c'est clair. Essentiellement, je veux trouver les équipes que les joueurs ont en commun et regrouper par là. Je pensais qu'il y avait peut-être un moyen de le faire en naviguant sur un graphique bipartite? Je ne sais pas exactement comment et je pense peut-être trop. J'espérais le faire en créant un certain type de structure de données sur le serveur et en l'utilisant sur le client. J'aimerais entendre vos suggestions et j'apprécie toute aide que vous pouvez apporter!
Team
doit avoir un champ appeléplayers
qui nécessite une relation plusieurs-à-plusieurs avec votre autre modèlePlayer
. Cela vous permet de récupérer les joueurs de chaque équipe et les équipes associées à chaque joueur.