3

我想从三个不相关的不同表中获取计数。我正在使用这个 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 查询?

我正在使用学说 1.2.4

4

1 回答 1

2

在四处挖掘后,我自己找到了解决方案。即直接使用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,但无法使其正常工作。

于 2012-04-08T04:15:26.943 回答