Pergunta

Gostaria de expressar a seguinte consulta SQL em Symfony 1.4 usando o Builder de consulta da Doutrina:

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

Como posso expressar a condição "Onde existir ....."?

Foi útil?

Solução

Você pode usar a declaração existe em onde a cláusula como outras condições. No seu caso, seria algo como:

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();
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top