我想从三个不相关的表中获取计数。我正在使用这个SQL查询。
SELECT
(SELECT COUNT(DISTINCT id) FROM user) AS userCount,
(SELECT COUNT(DISTINCT id) FROM item) AS itemCount,
(SELECT COUNT(DISTINCT id) FROM sub_category) as categoryCount;
是否可以将DQL用于上述查询?或者我必须使用rawSQL查询?
我正在使用doctrine 1.2.4
答案 0 :(得分:1)
在挖掘之后,我自己找到了解决方案。即直接使用pdo连接实例。
$q = Doctrine_Manager::getInstance()->getCurrentConnection();
$result = $q->execute(' SELECT
(SELECT COUNT(DISTINCT id) FROM user) AS userCount,
(SELECT COUNT(DISTINCT id) FROM item) AS itemCount,
(SELECT COUNT(DISTINCT id) FROM sub_category) as categoryCount;'
);
$result->fetchAll(PDO::FETCH_ASSOC);
虽然这对我来说现在很有用。我仍然想知道是否可以将其转换为DQL。我尝试了不同的语法和方法,如Doctrine的RAW SQL,但无法使其工作。