【发布时间】:2014-06-09 22:42:09
【问题描述】:
我有一个 PHP ActiveRecord 模型,其中我有一个函数,该函数需要查询返回的行数。我使用内置的static::count($conditions) 函数获取行数。这很好用,但是当我包含 GROUP BY 语句时就会出现问题。当我包含这个时,计数返回 1。我检查了生成的 SQL,它类似于
SELECT COUNT(*)
FROM TABLE
/* JOINS */
/* WHERE CONDITIONS */
GROUP BY `field`
当我手动运行查询时,我得到了
1
1
1
。 . . 1
(1,000 times since there are 1,000 rows in the DB)
当我删除 GROUP BY 语句时,我应该得到值 1,000。
很明显,这是因为 COUNT 是一个聚合函数,它不能很好地与 group by 配合使用。话虽如此,如何使用 group by 的 activerecord 返回正确的行数?
【问题讨论】:
标签: php activerecord phpactiverecord