Если в вашей таблице нет фильтров, ваш серверный код может быть простым:
// Server script
function getPagesCount(pageSize) {
var recordsCount = app.models.MyModel.newQuery().run().length;
var pagesCount = Math.ceil(recordsCount / pageSize);
return pagesCount;
}
В качестве альтернативы вы можете рассмотреть возможность создания Расчетной модели с однимполе PagesCount
.
Если у вас есть несколько фильтров, связанных с таблицей, вам нужно будет выполнить запрос для номера страницы с точно такими же фильтрами.
Скорее всего, вся настройкане будет эффективно работать с таблицами накопителей, поскольку невозможно запросить номер записи без запроса самих записей.С бэкэндом данных Cloud SQL можно создать Модель вычисляемого SQL с облегченным собственным запросом SQL (здесь :PageSize
- это параметр запроса, который должен быть равен query.limit
фактического источника данных):
SELECT
Ceil(COUNT(1) / :PageSize) AS RecordsNumber
FROM
TableName
WHERE
...