Poster une réponse  Créer un sujet 
[Résolu][CakePHP] Modélisation du relation entre plusieurs entités
Auteur Message
Sephi-Chan
Administrateur
*******


Messages : 4,291
Groupe : Administrateur
Inscription : Aug 2006
Statut : Hors ligne
Message : #1
[Résolu][CakePHP] Modélisation du relation entre plusieurs entités

Bonjour à tous,

Je suis en ce moment en train d'expérimenter CakePHP, et une question pourtant triviale dans un autre contexte, me pose problème.

J'ai un jeu qui s'organisent en plusieurs parties de 10 joueurs (groupés par langue). On a donc une relation 1, n. Une partie a plusieurs joueurs. Comment le modélise-t-on en base de données ?

Pour ma part, j'ai choisis de faire :

Citation :
Joueurs
joueur_id (PK)
nom
langue
partie_id (FK)

Citation :
Partie
partie_id (PK)
langue


Quand un joueur rejoint une partie, le système compte d'abord s'il existe une partie récente qui partage la langue de l'utilisateur et où moins de 10 joueurs sont inscrits.

Sans Framework, j'utiliserai cette simple requête (%s représente la locale de l'utlisateur), qui me donne le nombre de joueurs qu'il y a dans la partie de même langue la plus récente.

Code :
SELECT    count(*) AS count
FROM    games G
JOIN    users U
ON        U.game_id = G.id
WHERE    G.id = (
    SELECT    max(id)
    FROM    games
    WHERE    lang = '%s'
);


Tout ça me conviendrait très bien si je n'avais pas de Framework. Mais j'aimerai quand même pouvoir générer cette requête automatiquement. Mais je n'arrive pas à le faire… :(


Sephi-Chan


Ce message a été modifié le: 08-17-2008 09:21 PM par Sephi-Chan.

08-17-2008 11:25 AM
Visiter le site internet de cet utilisateur Trouver tous les messages de cet utilisateur Citer ce message dans une réponse
oxman
Membre


Messages : 680
Groupe : Membre
Inscription : May 2008
Statut : Hors ligne
Réputation : 10
Message : #2
RE: [CakePHP] Modélisation du relation entre plusieurs entités

http://manual.cakephp.org/view/456/query

Sinon je ne pense pas que l'on peut la faire en une fois.
Tout d'abord la sous-requête puis la requête, je me renseigne.

08-17-2008 11:42 AM
Visiter le site internet de cet utilisateur Trouver tous les messages de cet utilisateur Citer ce message dans une réponse
Sephi-Chan
Administrateur
*******


Messages : 4,291
Groupe : Administrateur
Inscription : Aug 2006
Statut : Hors ligne
Message : #3
RE: [CakePHP] Modélisation du relation entre plusieurs entités

Oui, actuellement c'est ce que je fais. 2


08-17-2008 11:49 AM
Visiter le site internet de cet utilisateur Trouver tous les messages de cet utilisateur Citer ce message dans une réponse
oxman
Membre


Messages : 680
Groupe : Membre
Inscription : May 2008
Statut : Hors ligne
Réputation : 10
Message : #4
RE: [CakePHP] Modélisation du relation entre plusieurs entités

SELECT G.id
FROM games G
JOIN users U ON U.game_id = G.id
GROUP BY G.lang
HAVING G.lang = 'fr' and count(*) < 10

Il y a plus qu'à 16

08-17-2008 12:07 PM
Visiter le site internet de cet utilisateur Trouver tous les messages de cet utilisateur Citer ce message dans une réponse
Poster une réponse  Créer un sujet 

Voir une version imprimable
Envoyer ce sujet à un ami
S'abonner au sujet | Ajouter le sujet aux favoris