$c = new Criteria();
$c->add(XXXAmisPeer::CONFIRMED, '1');
$criterion1 = $c->getNewCriterion(XXXAmisPeer::LOGIN1, $id_user) ;
$criterion2 = $c->getNewCriterion (XXXAmisPeer::LOGIN2, $id_user));
$criterion1->addOr(criterion2);
$c->addAnd(criterion2) ;

$criterion3 = $c->getNewCriterion(XXXUserPeer::ID,
XXXAmisPeer::LOGIN1);
$criterion4 = $c->getNewCriterion (XXXUserPeer::ID,
XXXAmisPeer::LOGIN2));
$criterio3->addOr(criterion4);
$c->addAnd(criterion1) ;

$c->add(XXXUserPeer::ID, $id_user, Criteria::NOT_EQUAL);

$this->amis = XXXUserPeer::doSelect($c);


On 2 juil, 16:15, LaYa <[EMAIL PROTECTED]> wrote:
> Merci de me filer un coup de main mais j'suis novice en symfony.
> Concretement ca aurait quelle tete ? Parce que j'arrive pas tellement
> a comprendre là ...
>
> On 2 juil, 16:09, nautilebleu <[EMAIL PROTECTED]> wrote:> Il faut faut faire 
> 4 criterions, cumuler 1 et 2 ensembles, cumuler 3
> > et 4 ensembles,
> > puis ajouter les deux cumuler au criteria
>
> > Nautile
>
> > On 2 juil, 15:57, LaYa <[EMAIL PROTECTED]> wrote:
>
> > > Bonjour à tous,
>
> > > Donc voila comme l'indique le titre j'ai un petit problème avec une
> > > requete SQL récalcitrante :
>
> > > J'ai 2 tables xxx_user et xxx_amis qui contiennent respectivement les
> > > informations des utilisateurs (login, nom, prenom, ...) et les
> > > 'amitiés' entre les differents utilisateurs (login1=>id utilisateur n
> > > °1, login2=>id utilisateur n°2, confirmed=>1 si la personne qui a été
> > > ajouté a confirmé cet ajout).
>
> > > J'essai donc d'afficher les differents 'amis' d'un utilisateur donné.
>
> > > En SQL pas de probleme elle fonctionne ( j'ai pris un id utilisateur
> > > pour l'exemple '5' ):
>
> > > SELECT us.login FROM xxx_amis ami, xxx_user us
> > > WHERE ami.confirmed = '1'
> > > AND (ami.login1 = '5' OR ami.login2 = '5')
> > > AND (us.id = login1 OR us.id = login2)
> > > AND us.id != '5'
>
> > > avec symfony c'est une autre paire de manches :
>
> > >    public function executeXXXAmis()
> > >    {
> > >         $id_user = $this->getUser()->getAttribute('id');
>
> > >         $c = new Criteria();
> > >         $c->add(XXXAmisPeer::CONFIRMED, '1');
> > >         $criterion1 = $c->getNewCriterion(XXXAmisPeer::LOGIN1, 
> > > $id_user)->addOr($c->getNewCriterion (XXXAmisPeer::LOGIN2, $id_user));
>
> > >         $c->add($criterion1);
> > >         $criterion2 = $c->getNewCriterion(XXXUserPeer::ID,
> > > XXXAmisPeer::LOGIN1)->addOr($c->getNewCriterion (XXXUserPeer::ID,
> > > XXXAmisPeer::LOGIN2));
> > >         $c->addAnd($criterion2);
> > >         $c->add(XXXUserPeer::ID, $id_user, Criteria::NOT_EQUAL);
>
> > >         $this->amis = XXXUserPeer::doSelect($c);
> > >    }
>
> > > Seul probleme la deuxieme partie de la requete n'est pas prise en
> > > compte ... le $criterion2 ... et je n'arrive pas a comprendre
> > > pourquoi ... quelqu'un aurait une idée ?
>
> > > Merci d'avance !- Masquer le texte des messages précédents -
>
> > - Afficher le texte des messages précédents -


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