改进count查询对group的支持

This commit is contained in:
thinkphp
2017-01-19 18:52:26 +08:00
parent ecd0ff3536
commit e1b35abd51

View File

@@ -509,10 +509,17 @@ class Query
* COUNT查询 * COUNT查询
* @access public * @access public
* @param string $field 字段名 * @param string $field 字段名
* @return integer * @return integer|string
*/ */
public function count($field = '*') public function count($field = '*')
{ {
if (isset($this->options['group'])) {
// 支持GROUP
$options = $this->getOptions();
$subSql = $this->options($options)->field('count(' . $field . ')')->bind($this->bind)->buildSql();
return $this->table([$subSql => '_group_count_'])->value('COUNT(*) AS tp_count', 0, true);
}
return $this->value('COUNT(' . $field . ') AS tp_count', 0, true); return $this->value('COUNT(' . $field . ') AS tp_count', 0, true);
} }