La fonction add de Criteria attend un champs de table en 1er paramètre
et une valeur en deuxieme... Le résutlat que tu obtient est donc
normal .. !

Ici tu cherche à faire une jointure et donc tu doit utiliser la
fonction addJoin (comme ta première jointure !)

On 27 mai, 23:32, Hpar <[EMAIL PROTECTED]> wrote:
> Bonjour
>
> Soit deux tables : Elem et ElemCategorie dont la structure est du
> genre:
> Elem
>   id_elem (pk)
>   id_cat (rk)
>   ...
>
> ElemCategorie
>   id_elem (rk)
>   id_cat (rk)
>   PK = id_elem, id_cat
>
> Je veux trouver toutes les lignes pour lesquelles Elem.id_cat =
> ElemCategorie.id_cat. Je fais donc ma jointure (id_elem est le pivot)
> puis ajoute dans mon where la clause (id_cat= id_cat)
>
> En code ça donne :
>
>         $c = new Criteria();
>         $c->addJoin(ElemCategoriePeer::ID_ELEM,ElementPeer::ID_ELEM);
>         $c->add(ElemCategoriePeer::ID_CAT,ElementPeer::ID_CAT);
>         $this->cat = ElemCategoriePeer::doSelect($c);
>
> Et ce qui est étrange c'est que la requête produite est :
> SELECT ...
> FROM elem_cat, elem
> WHERE elem_cat.ID_CAT=0 AND elem_cat.ID_ELEM=elem.ID_ELEM
>
> Pourquoi symfony me met ce elem_cat.ID_CAT = 0 ?
>
> Normalement il aurait du me mettre elem_cat.ID_CAT = elem.ID_CAT.
>
> Comment faire ?
>
> D'avance merci.


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