我想用symfony2和doctrine:
提出这样的请求SELECT
(SELECT count(id) FROM table1) AS c1,
(SELECT count(id) FROM table2) AS c2,
(SELECT count(id) FROM table3) AS c3,
(SELECT count(id) FROM table4) AS c4
(注意:此请求在mysql中有效) 但是我不知道如何用教条来做, 我试过这样的事情:
$em = $this->getDoctrine()->getEntityManager();
$result = $em->createQuery('SELECT
(SELECT count(id) FROM MyBundle:Table1) AS c1,
(SELECT count(id) FROM MyBundle:Table2) AS c2,
(SELECT count(id) FROM MyBundle:Table3) AS c3,
(SELECT count(id) FROM MyBundle:Table4) AS c4'
)->getResult();
然而它引发了一个例外:
("[Semantical Error] line 0, col 144 near ') AS c2,
': Error: ')' is already defined.") in
那么有可能做我想做的事情,如果是的话怎么做?
任何帮助将不胜感激:)
答案 0 :(得分:1)
错误与$em->createQuery($dql)
有关,您只能使用DQL(学说查询语言)。
如果您想在查询中使用 SQL ,则必须使用Doctrine\Dbal\Connection
,$em->getConnection()->fetchAssoc($sql)
。
希望这对你有所帮助。