Merci pour ta réponse, c'est effectivement une bonne solution. Voici le code que j'obtiens :
$c = new Criteria(); $c->AddJoin(TagsPeer::ID_ARTICLE, ArticlePeer::ID); $c->addSelectColumn(TagsPeer::ID); $c->addSelectColumn(TagsPeer::TAG); $c->addSelectColumn(ArticlePeer::TITRE_ARTICLE); $this->tagss = TagsPeer::doSelectRS($c); Sauf que du coup, php ne reconnait plus la méthode getId() (qui devrait renvoyer la valeur de TagsPeer::ID) . J'ai essayé de remplacer doSelectRS() par doSelect() et ça fonctionne, mais pour n résultats, ça me génère n+2 requêtes SQL, ce qui peut s'avérer horriblement lourd... :\ On 25 nov, 15:05, gestadieu <[EMAIL PROTECTED]> wrote: > Tu peux faire un $c = new Criteria(); > $c->clearSelectColumn()->addSelectColumn(tacolonneici);, etc... > > il te suffit ensuite d'utiliser un doSelectRS(). > > On 25 nov, 07:06, Guillaume <[EMAIL PROTECTED]> wrote: > > > Oui, j'ai essayé aussi ainsi, mais ça ne me convient pas. J'ai oublié > > de préciser qu'il faut que je récupère une valeur dans l'autre table > > correspondant à l'identifiant, or doSelect() ne me permet pas > > d'obtenir des valeurs de champs externes à ma connaissance. > > > PS : j'ai déjà eu ma dose vendredi, je cuve là :-) > > > On 24 nov, 22:47, Loïc Vernet <[EMAIL PROTECTED]> wrote: > > > > Les méthodes doSelectJoinXXX() sont des méthodes prédéfines par propel > > > mais tu peux tout simplement faires tes jointures "à la main" > > > > $critetia->addJoin(tablePeer1ID, tablePeer2:TABLE1_ID); > > > ... > > > > ++ > > > > PS: C'est pas bientôt fini de bosser un samedi soir ???? :P > > > > ----- Message d'origine ---- > > > De : Guillaume <[EMAIL PROTECTED]> > > > À : Symfony-fr <[email protected]> > > > Envoyé le : Samedi, 24 Novembre 2007, 21h50mn 06s > > > Objet : [symfony-fr] Jointure sur une clé primaire et non sur un > > > identifiant > > > > Bonsoir, > > > > En tant que tout débutant sur Symfony, je suis actuellement sur un > > > problème qui me rend complètement fou : j'ai beau essayer plein de > > > méthodes, rien ne fonctionne. > > > Je souhaite en fait simplement faire une jointure entre deux clés > > > primaires dans deux tables différentes. > > > > J'ai utilisé la méthode doSelectJoinXXX() (à ce propos, j'ai bien > > > galèré pour trouver son fonctionnement, la doc n'est pas abondante à > > > ce sujet...), mais la jointure se fait d'office sur les identifiants > > > et je n'arrive pas à changer ce comportement alors que mon schema.yml > > > déclare ces clés comme il faut. > > > > Quelqu'un aurait-il une solution ? Merci. > > > > -- > > > Guillaume > > > > > > > ___________________________________________________________________________ > > > __ > > > Ne gardez plus qu'une seule adresse mail ! Copiez vos mails vers Yahoo! > > > Mail --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
