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