Pagination Kohana 3.1查询计数和分页
我的脚被Kohana弄湿了,但是分页有问题。我得到以下错误: ErrorException[致命错误]:类 找不到“分页” 在非官方wiki之后,我修改了引导文件以包括以下内容:Pagination Kohana 3.1查询计数和分页,pagination,kohana,Pagination,Kohana,我的脚被Kohana弄湿了,但是分页有问题。我得到以下错误: ErrorException[致命错误]:类 找不到“分页” 在非官方wiki之后,我修改了引导文件以包括以下内容: Kohana::modules(array( 'database' => MODPATH.'database', 'userguide' => MODPATH.'userguide', 'pagination' => MODPATH.'pagination', )) 但这似乎没有帮助 我的第二个问题
Kohana::modules(array( 'database' => MODPATH.'database', 'userguide' => MODPATH.'userguide', 'pagination' => MODPATH.'pagination', ))
但这似乎没有帮助
我的第二个问题是关于查询计数。。。。我很惊讶没有像$query count这样的函数,除非我选择ORM,否则我觉得这个解决方案有点笨拙,因为每个分页请求都必须有一个查询计数:
$result['count'] = $pagination_query->select('COUNT("*") AS result_count')->execute()->get('result_count');
有什么建议吗
非常感谢Kohana 3.1没有分页模块。。。 它必须从 然后转到class/kohana编辑行199 from->uri to->uri 就这样 至于查询计数…仍在搜索
希望这对某人有所帮助数据库类中曾经有一个count\u last\u查询函数,它提供上次查询运行的总结果,没有任何限制或偏移,但他们从3.0.9版中提取了它。您可以在此处找到它的文档: 如果您想使用这个函数,我实际上已经在该函数的代码的基础上构建了我自己的计数查询函数
protected static function _pagedQuery($query) {
$sql = (string)$query;
if (stripos($sql, 'LIMIT') !== FALSE) {
// Remove LIMIT from the SQL
$sql = preg_replace('/\sLIMIT\s+[^a-z]+/i', ' ', $sql);
}
if (stripos($sql, 'OFFSET') !== FALSE) {
// Remove OFFSET from the SQL
$sql = preg_replace('/\sOFFSET\s+\d+/i', '', $sql);
}
if (stripos($sql, 'ORDER BY') !== FALSE) {
// Remove ORDER BY from the SQL
$sql = preg_replace('/\sORDER BY\s+`\w+`(\.`\w+`)?(\s+DESC|\s+ASC)?/i', '', $sql);
}
$db = Database::instance();
$result = $db->query(Database::SELECT, '
SELECT COUNT(*) AS ' . $db->quote_identifier('total_rows') . '
FROM (' . $sql . ') AS ' . $db->quote_table('counted_results'),
TRUE
);
return (int)$result->current()->total_rows;
}