Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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!

like image 934
Serhiy Avatar asked Jul 07 '11 18:07

Serhiy


1 Answers

Use special reset(FALSE) call:

$records = $records->where('categoryid', 'LIKE', 'aa');
$records->reset(FALSE); // !!!!
$count = $records->count_all();
$categories = $records->find_all();
like image 76
biakaveron Avatar answered Sep 28 '22 17:09

biakaveron