Domanda

Vorrei esprimere la seguente query SQL in Symfony 1.4 usando la Doctrine's Query Builder:

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

Come posso esprimere la condizione "dove esistere ....."?

È stato utile?

Soluzione

È possibile utilizzare una dichiarazione esiste in cui la clausola come altre condizioni. Nel tuo caso sembrerebbe qualcosa di simile:

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();
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top