教义 - 计算来自不同表的记录
Posted
技术标签:
【中文标题】教义 - 计算来自不同表的记录【英文标题】:Doctrine - count records from different tables 【发布时间】:2012-04-07 15:33:29 【问题描述】:我想从三个不相关的不同表中获取计数。我正在为此使用此 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
【问题讨论】:
【参考方案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,但无法正常工作。
【讨论】:
以上是关于教义 - 计算来自不同表的记录的主要内容,如果未能解决你的问题,请参考以下文章