Search code examples
phpkohanakohana-3kohana-orm

Is it possible to re-use a Kohana ORM query for the row count?


So I have my query as so...

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

Add a WHERE clause as so...

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

Grab a count for pagination as so...

$count = $records->count_all();

And my where clause gets cleared away as so...

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

With this line commented out

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

My SQL looks just fine...

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

Is it possible to use a single query the way I'm trying to or do I have to make two duplicate identical queries? One for the count, and one for the actual results...

Thanks!


Solution

  • Use special reset(FALSE) call:

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