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 -~----------~----~----~----~------~----~------~--~---
signature.asc
Description: OpenPGP digital signature
