0

我正在使用 zf2 中使用 SQL_CALC_FOUND_ROWS 的简单选择语句。代码如下所示并使用量词。

$select = $this->getSlaveSql()->select('posts');
$select->quantifier(new Expression('SQL_CALC_FOUND_ROWS'));
$select->columns([
       'total'=>new Expression("FOUND_ROWS()"),
       '*'
]);

生成的sql如下

SELECT SQL_CALC_FOUND_ROWS FOUND_ROWS() AS `total`, `posts`.* FROM `posts`

截屏: 在此处输入图像描述

但由于某些原因,found_rows 始终返回为 0,我不想为分页添加第二个查询。请帮忙。

4

1 回答 1

3

FOUND_ROWS()通常用于后续查询。我怀疑您是否可以在选择数据的同一个中运行它。请参阅文档中的示例:http: //dev.mysql.com/doc/refman/5.0/en/information-functions.html#function_found-rows

另请注意,SQL_CALC_FOUND_ROWS在没有限制的查询中没有任何意义。

于 2014-12-30T10:26:24.193 回答