Я использую простой оператор select, используя SQL_CALC_FOUND_ROWS в zf2. Код будет выглядеть следующим образом и использует квантификатор.SQL_CALC_FOUND_ROWS + zf2
$select = $this->getSlaveSql()->select('posts');
$select->quantifier(new Expression('SQL_CALC_FOUND_ROWS'));
$select->columns([
'total'=>new Expression("FOUND_ROWS()"),
'*'
]);
И сгенерированный SQL, как показано ниже
SELECT SQL_CALC_FOUND_ROWS FOUND_ROWS() AS `total`, `posts`.* FROM `posts`
скриншот:
Но по некоторым причинам, FOUND_ROWS всегда возвращается как 0, и я не хочу, чтобы добавить второй запрос для разбивки на страницы. Пожалуйста помоги.
У меня такая же проблема с ограничением тоже. Использование SELECT SQL_CALC_FOUND_ROWS FOUND_ROWS() AS 'total',' posts'. * FROM 'posts' LIMIT '10' также не имеют эффекта :( – Laxman
Ну, как я уже сказал, вызов' FOUND_ROWS() должен быть в отдельном запрос после того, как вы выбрали данные сообщений. –
спасибо tim, проблема решена с помощью другого запроса select для found_rows(), как вы сказали. – Laxman