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
-~----------~----~----~----~------~----~------~--~---

Répondre à