Какой выбрать метод в фреймворке Phalcon для реализации задачи?

Вопрос:
В фреймворке 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 и обработать, то это плохой вариант, так как это высоконагруженный проект.
  • Вопрос задан
  • 786 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы