C'est normal que $Joueur->Competence ne marche pas car dans ton schema la 
relation m2m entre Joueur et Competence n'est pas définie. Il faut la rajouter 
manuellement comme on te l'a suggéré.

Par exemple :

Joueur:
 columns:
 [...]
 relations:
   Competences:
     class: Competence
     refClass: JoueurCompetence
     local: joueur_id
     foreign: competence_id
     foreignAlias: Joueurs


Ainsi tu pourras faire $Joueur->Competences qui retournera une instance de 
Doctrine_Collection (ou un tableau) avec toutes les compétences. Vice-versa, si t'en 
as besoin tu pourras faire $Competence->Joueurs qui retournera les joueurs d'une 
compétence (grâce au foreignAlias).
2009/7/24 Bruno <[email protected]>:

Bonjour et merci de votre aide,

@[email protected] :
Oui la structure est impeccable, toutes les contraintes de clés
étrangères sont respectés, et tous les contrôles fonctionnent bien,
c'est bien pour ça que je trouve étrange que la génération du schema
ne les reproduise pas.

@Lelio ML :
Effectivement, pour ma table `JoueurCompetence`, ce sont deux
many2one, vers Joueur et Competence qui sont bien reproduit sur le
schema.yml.
En revanche, ce que je n'arrive pas a faire, c'est récupérer toutes
les compétences d'un joueur en faisant Joueur->competence, ce que j'ai
vu fonctionner sur un tutoriel.
Actuellement je suis oblige de faire $joueur->getJoueurCompetence() et
enfin dans ma boucle un $joueurCompetence->getCompetence(), ce qui a
pour effet de me générer une nouvelle requête SQL.
Peut être que je m'y prend mal quelque part ?
Voici l'extrait de mon schema.yml


# Joueur
Joueur:
 tableName: joueur
 columns:
   id:
     type: integer(4)
     unsigned: 1
     primary: true
     autoincrement: true
   pseudo:
     type: string(50)
     notnull: true

#Competence
Competence:
 tableName: competence
 columns:
   id:
     type: integer(4)
     unsigned: 1
     primary: true
     autoincrement: true
   nom:
     type: string(250)
     default: ''
     notnull: true

#JoueurCompetence
JoueurCompetence:
 tableName: joueur_competence
 columns:
   competence_id:
     type: integer(4)
     unsigned: 1
     primary: true
   joueur_id:
     type: integer(4)
     unsigned: 1
     primary: true
   utilisations:
     type: integer(4)
     default: '0'
     notnull: true
 relations:
   Joueur:
     local: joueur_id
     foreign: id
     type: one
   Competence:
     local: competence_id
     foreign: id
     type: one


Encore merci de votre aide

Bruno
--~--~---------~--~----~------------~-------~--~----~
Vous avez reçu ce message, car vous êtes abonné au groupe Groupe "Symfony-fr" 
de Google Groupes.
 Pour transmettre des messages à ce groupe, envoyez un e-mail à
l'adresse [email protected]
 Pour résilier votre abonnement à ce groupe, envoyez un e-mail à
l'adresse [email protected]
 Pour afficher d'autres options, visitez ce groupe à l'adresse 
http://groups.google.com/group/symfony-fr?hl=fr
-~----------~----~----~----~------~----~------~--~---



Attachment: signature.asc
Description: OpenPGP digital signature

Répondre à