我在zf2中使用SQL_CALC_FOUND_ROWS使用简单的select语句。代码如下所示,并使用量词。
$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并且我不想为分页添加第二个查询。请帮忙。
答案 0 :(得分:3)
FOUND_ROWS()
通常用于后续查询。我怀疑你可以在选择数据的同一个中运行它。请参阅文档中的示例:http://dev.mysql.com/doc/refman/5.0/en/information-functions.html#function_found-rows
另请注意,SQL_CALC_FOUND_ROWS
在没有限制的查询中没有意义。