Arf, effectivement... Mais bon, j'ai fini 90% de mon application,
c'est un peu tard pour reprendre tout avec un plugin. Et juste à titre
d'apprentissage, j'aimerais quand même savoir s'il existe des
solutions viables à mon problème ; ca peut servir pour d'autres
applis.

On 25 nov, 18:32, "Renaud LITTOLFF" <[EMAIL PROTECTED]> wrote:
> si tu souhaites gérer des tags, il y a un plugin qui le fait plutot
> très bien, peut etre que tu pourrais l'utiliser en lieu et place de
> ton systeme... ou alors sqi ca peut t'aider :)
>
> Le 25/11/07, Guillaume<[EMAIL PROTECTED]> a écrit :
>
>
>
> > 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 à