Page 1 sur 1

Jointure avec doctrine

Posté : 06 déc. 2011, 12:45
par lowdance
Bonjour,

J'aimerais arriver aux résultats suivants :

J'ai une table 'Personnes'.

J'ai une table 'adjectifs' qui est liées a 'Personnes' ( Relations N N, il y a donc une table de liaison.)

J'aimerais pouvoir récupérer toutes les personnes avec certains adjectifs passé dans un tableau avec tout leurs adjectifs.

Peter est comique et honnete
Jean est serieux et travailleur.
Patrique est serieux et intéligent.


Je passe le parametre "serieux" et je veux me retrouver avec :

Jean est serieux et travailleur.
Patrique est serieux et intéligent.


Pour le moment j'ai quelques chose de ce genre :
  	$q= Doctrine_Query::create()
    	->from('Personne p')
    	->leftjoin('p.Adjectifs a');
    	if($adjectifs) {
    	foreach($adjectifs as $adjectif) {  //adjectif représente l'id
    	$q->where('a.id = ?', $ajectif);
    	}
    	}

Merci d'avance pour votre aide

Re: Jointure avec doctrine

Posté : 08 déc. 2011, 11:08
par zeus
Est-ce que tu as essayé, et dans le cas échéant, quel a été ton résultat ?
C'est comme ça que l'on apprend : en essayant.

Sinon, regarde du côté de whereIn()

Re: Jointure avec doctrine

Posté : 08 déc. 2011, 12:47
par nhachet
Bonjour,

pour ajouter des conditions de jointure en Doctrine 2, tu peux utiliser andWhere() et non where():

Code : Tout sélectionner

$em = $this->getEntityManager(); $query = $em->createQueryBuilder(); $query->select('fg'); $query->from('xxx', 'fg'); // where $query->andWhere('fg.count > 0'); $query->andWhere('fg.abcd = :abdce'); $query->setParameter('abdce', $abcde);

a+