Bon, je me réponds avec la solution :

$query->leftJoin('Phase.Services Service WITH Service.rendered_at >= ? AND
Service.rendered_at < ?', array(
      date('Y-m-d'),
      date('Y-m-d', time() + 86400 * 5)
    )); 

-----Message d'origine-----
De : [email protected] [mailto:[email protected]] De la
part de Lélio ML
Envoyé : mardi 25 janvier 2011 17:36
À : [email protected]
Objet : [symfony-fr] Jointure avec critère dans le ON

Bonjour,

Je cherche à faire une requête avec une jointure qui contient ses propres
critères.

Exemple :

select *
FROM
  phase p
  LEFT JOIN service s
    ON p.id = s.phase_id
    AND
    s.rendered_at >= '2010-01-25' 
    AND 
    s.rendered_at < '2012-02-01'

Et non
select *
FROM
  phase p
  LEFT JOIN service s
    ON p.id = s.phase_id
WHERE
    s.rendered_at >= '2010-01-25' 
    AND 
    s.rendered_at < '2012-02-01'

Le résultat n'est pas le même (la requête est simplifiée pour l'exemple) 

Actuellement je fais la requête par le code suivant (j'utilise symfony 1.4
et doctrine 1.2.3) :
Pourriez-vous m'indiquer comment faire ?

J'ai regardé le code de la fonction leftJoin()  mais ça ne m'a pas beaucoup
aidé...

Merci d'avance

--
Vous recevez ce message, car vous êtes abonné au groupe Google
Groupes Symfony-fr.
Pour envoyer un message à ce groupe, adressez un e-mail
à [email protected].
Pour vous désabonner de ce groupe, envoyez un e-mail à l'adresse
[email protected].
Pour plus d'options, consultez la page de ce groupe :
http://groups.google.com/group/symfony-fr?hl=fr


-- 
Vous recevez ce message, car vous êtes abonné au groupe Google 
Groupes Symfony-fr.
Pour envoyer un message à ce groupe, adressez un e-mail 
à [email protected].
Pour vous désabonner de ce groupe, envoyez un e-mail à l'adresse 
[email protected].
Pour plus d'options, consultez la page de ce groupe : 
http://groups.google.com/group/symfony-fr?hl=fr

Répondre à