Вопрос:
В фреймворке Phalcon я делаю сложный запрос через phql.
по типу:
$phql = 'SELECT ... JOIN ... WHERE ... LIMIT 0, 10';
Но всего записей в таблице 100,000 по параметрам в WHERE.
Итак запрос выполняю так:
$this->modelsManager->executeQuery($phql);
В результате мне будет отображено 10 строк.
Но мне хочется узнать общее число строк.
Если использовать: SQL_CALC_FOUND_ROWS - выведет ошибку.
Если использовать классы:
Phalcon\Paginator\Adapter\Model
Phalcon\Paginator\Adapter\QueryBuilder
Но они не могут получить общее число строк без LIMIT
Вот кусок кода(почти из документации):
$builder = $this->modelsManager->createBuilder($phql);
$paginator = new \Phalcon\Paginator\Adapter\QueryBuilder(array(
"builder" => $builder,
"limit"=> 5,
"page" => 1
));
$page = $paginator->getPaginate();
print_r($page->total_pages());
Выведет 2, а не большое число.
Вообщем, хочется использовать методы Phalcon, а не делать 2 запроса или под-запросы.
Есть ли у кого-то опыт с таким делом?
Прошу не предлогать выводить все через PHP и обработать, то это плохой вариант, так как это высоконагруженный проект.