83 views
Liaison entre 2 modules (Tournois, Match)
RD156

5 subjects, 9 replies

Unread message
Bonjour,
Ma communauté organise un tournois la semaine prochaine aussi j'ai developpez un Module Match que contient l'ensemble des Matchs hors tournois.
et je suis entrain de developpez un Module Tournois on peut pour l'instant ajouter des equipes Externes et parametrer les poules du tournois.
J'essaye de faire que mon module Tournois crée des Match en se servant du Module match mais je ne voit pas comment faire sans redeclarer celui-ci a l'interieur de mon module Tournois.

Merci d'avance
PS: quand les modules seront entierement fini je les partagerais a tous ceux qui le souhaite en attendant que Neofrag sorte le sien.
Hugo Lecomte--Lanz
2 participants
6 replies
eResnova

17 subjects, 875 replies

Contributors
Unread message
Bonjour RD156 !

Je vois que tu es au "také" dans la création de modules ! :)

Alors, concernant ta question : pour le moment, un module ne peut pas appeler une fonction d'un contrôleur ou d'un modèle d'un autre module.
Du coup, le mieux pour l'instant c'est de bien préparer ton module match (faire les fonctions d'ajout / édition / suppression des matches, etc... dans ton modèle) et ensuite de les "copier/coller" dans le modèle de ton module tournois.

Ensuite, depuis ton module tournois, dans tes contrôleurs, tu pourras appeler les fonctions qui exécuterons les actions vers la table de tes matches. Je ne sais pas comment tu as organisé tout ça mais globalement, tu as juste besoin de copier / coller les fonctions de ton modèle des matches vers le modèle de ton module tournois, comme ça les requêtes seront identiques.

Si tu as besoin de plus d'explication ou d'aide, n'hésites pas :)
RD156

5 subjects, 9 replies

Unread message
Merci c'est ce que j'ai fini par faire ;)

j'ai une autre questions cette fois ci au niveau des requettes sql pour les pages d'affichage.
Je recupere les matchs qui son lié au tournois et j'essaye de récuperer egalement les bo (Best Of) qui eux lié a un match.
Il peut y avoir plusieurs bo par matchs je souhaiterai un retourn sous la forme suivante
array(2) {
[0]=> array(15) {
["match_id"]=> int(16)
["tournament_id"]=> int(3)
["tournament_teams_1_id"]=> int(17)
["tournament_teams_2_id"]=> int(16)
["match_bo"]=> int(3)
["bo"] => array(3) {
[0]=> array(1) {
["score"]=> int(16)
 },
[1]=> array(1) {
["score"]=> int(16)
},
[2]=> array(1) {
 ["score"]=> int(16)
}
 }
["date"]=> string(10) "2017-02-24"
["team1_name"]=> string(7) "ENVYOUS"
["team2_name"]=> string(4) "NAVI"
}
[1]=> array(15) {
["match_id"]=> int(16)
["tournament_id"]=> int(3)
["tournament_teams_1_id"]=> int(18)
["tournament_teams_2_id"]=> int(16)
["match_bo"]=> int(3)
["bo"] => array(1) {
[0]=> array(1) {
["score"]=> int(16)
 }
 }
["date"]=> string(10) "2017-02-25"
["team1_name"]=> string(7) "TITAN"
["team2_name"]=> string(4) "NAVI"
}
}
Voila ma requette actuel que recupere tous sauf ma variable bo qui n'existe pas en base de donnée
public function get_tournaments_matchs($tournament_id)
{
$tournaments_matchs = $this->db->select('m.*', 't1.name as team1_name', 't2.name as team2_name')
->from('nf_matchs m')
->join('nf_tournaments_teams t1', 'm.tournament_teams_1_id = t1.tournaments_teams_id')
->join('nf_tournaments_teams t2', 'm.tournament_teams_2_id = t2.tournaments_teams_id')
->where('m.tournament_id', $tournament_id)
->order_by('m.match_id')
->get();
return $tournaments_matchs;
}

Merci d'avance
Hugo Lecomte--Lanz
eResnova

17 subjects, 875 replies

Contributors
Unread message
Alors, tu peux m’éclaircir un peu ?
  • le ["bo"] est censé contenir leurs 3 meilleurs matches ?
  • ["match_bo"] correspond à quoi ?
RD156

5 subjects, 9 replies

Unread message
Je vais prendre le jeu cs-go comme exemple

Lors d'un match et selon le match il y a un certain nombre de bo(entre 1 et 3 en general) qui corresponde aux nombre de fois que les deux equipes vont s'afronter sur des map differentes. chaqu'un des ces bo ont leur propre score et gagnant. L'équipe entre les 2 qui remporte le plus de BO gagne le match et est qualifié pour le match suivant lors d'un compétition.

match_bo contient le nombre d'affrontement entre les deux équipes (stoqué en base de donnée dans la table des matchs)
bo lui devrai contenir l'ensemble des affrontements dans le match (stoqué en base de donnée dans la table des matchs_bo)

On peut aussi voir ca comme des set et les jeux au tennis. Il s'agit d'un seul match

En esperant avoir était un peu plus clair :)
Hugo Lecomte--Lanz
RD156

5 subjects, 9 replies

Unread message
c'est bon j'ai reussi a le faire mais j'ai du rajouter l'appelle a une requetes suplementaires
Hugo Lecomte--Lanz
RD156

5 subjects, 9 replies

Unread message
Voila le lien si tu veut voir le debut de l'affichage : http://skycoca.fr/tournaments/8/intersky-2017.html

PS: tous le coter admin est deja fait (normalement, surement quelque bug a resoudre)
Hugo Lecomte--Lanz