Можно ли повторно использовать запрос Kohana ORM для подсчета строк? - PullRequest
5 голосов
/ 07 июля 2011

Итак, мой запрос такой ...

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

Добавить предложение WHERE как ...

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

Возьмите счет за нумерацию страниц, как ...

$count = $records->count_all();

И мой пункт "где" убирается как ...

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

Можно ли использовать один запрос так, как я пытаюсь, или мне нужно сделать два одинаковых запроса? Один для подсчета, а другой для фактических результатов ...

Спасибо!

1 Ответ

11 голосов
/ 07 июля 2011

Используйте специальный reset(FALSE) вызов:

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