Таблицы данных — Укажите размер страницы на стороне сервера

#laravel #datatables #pagination

#laravel #таблицы данных #разбивка на страницы

Вопрос:

Как я могу контролировать размер страницы на стороне сервера при использовании таблиц данных? Я хочу воспользоваться преимуществами встроенных кнопок навигации (предыдущий, следующий и т.д.), Но не хочу, чтобы клиенты могли указывать размер страницы.

Единственный вариант, который я вижу, это pageLength который контролирует размер страницы со стороны клиента, что в моем случае противоречит цели.

Это приложение Laravel, и я использую реализацию пакета Yajra (таблицы данных как сервис). Обратите внимание, что я не могу использовать встроенную разбивку на страницы Eloquent, потому что тогда мне придется управлять навигацией самостоятельно, а также нужно будет отключить собственную навигацию DataTable, потому что это зависит от pageLength .

Ответ №1:

Хороший способ — удалить текущий размер страницы в таблице данных, добавив значение подкачки false в параметрах таблицы данных.

Тогда вы можете выполнить разбивку на страницы, просто добавив класс разбиения на страницы laravel при перетаскивании данных из ваших моделей. Например

$all_items = модель пользователя::разбиение на страницы($page_size,[‘*’],’page_no’);

Последняя переменная метода paginate просто указывает имя параметра для номера страницы. Полезно, когда у вас на странице больше, чем разбивка на страницы. Его можно изменить на любое уникальное значение, которое вам нравится.