Question

Je voudrais exprimer la requête SQL suivante dans Symfony 1.4 en utilisant le constructeur de requête de Doctrine:

select `user_agent`
from ticket
WHERE EXISTS (SELECT *
          FROM log
          WHERE ticket.id = log.ticket_id AND log.task_id = 1)

Comment puis-je exprimer la condition "où exister ....."?

Était-ce utile?

La solution

Vous pouvez utiliser existant une déclaration dans la clause comme d'autres conditions. Dans votre cas, cela ressemblerait à quelque chose:

Doctrine_Core::getTable('ticket')->createQuery('t')
    ->select('user_agent')
    ->addWhere('exists(select * from log l where l.ticket_id = t.id AND l.task_id = 1')
    ->fetchArray();
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top