【问题标题】:Is it possible to re-use a Kohana ORM query for the row count?是否可以重新使用 Kohana ORM 查询来计算行数?
【发布时间】:2011-07-07 18:28:11
【问题描述】:

所以我的问题是这样的......

$records = ORM::factory('category');

像这样添加一个 WHERE 子句...

$records = $records->where('categoryid', 'LIKE', 'aa');

获取分页计数...

$count = $records->count_all();

然后我的 where 子句就这样被清除了......

SELECT `categories`.* FROM `categories` LIMIT 20 OFFSET 0

注释掉这一行

//$count = $records->count_all();

我的 SQL 看起来还不错...

SELECT `categories`.* FROM `categories` WHERE `categoryid` LIKE 'aa' LIMIT 20 OFFSET 0

是否可以按照我尝试的方式使用单个查询,或者我是否必须进行两个重复的相同查询?一个用于计数,一个用于实际结果...

谢谢!

【问题讨论】:

    标签: php kohana kohana-3 kohana-orm


    【解决方案1】:

    使用特殊的reset(FALSE) 调用:

    $records = $records->where('categoryid', 'LIKE', 'aa');
    $records->reset(FALSE); // !!!!
    $count = $records->count_all();
    $categories = $records->find_all();
    

    【讨论】:

    • 非常感谢您提供非常简短而清晰的回答。不要强加,但您不会碰巧知道如何仅使用数据库模块来做到这一点?特别是这个问题:stackoverflow.com/questions/6617760/… Wellp 无论如何...再次感谢您...
    猜你喜欢
    • 2013-09-28
    • 1970-01-01
    • 1970-01-01
    • 2021-04-19
    • 1970-01-01
    • 2016-10-26
    • 1970-01-01
    • 2015-03-28
    • 2011-08-21
    相关资源
    最近更新 更多