Всем привет!

Разбиение на страницы - довольно важная функция, которая используется практически на каждом веб-сайте, в приложениях и т. Д. Это связано с тем, что большинство веб-сайтов имеют дело с огромным количеством данных, и их одновременная загрузка пользователю может быть очень болезненной для конечного пользователя.

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

Внедрение пагинации может быть чертовски сложной задачей в современных приложениях [привет Android 😐!] Или на веб-сайтах. Однако в laravel это сделать очень просто.

В этом руководстве предполагается, что у вас уже есть основы / понимание фреймворка Laravel.

Прочтите мой предыдущий пост, если вы полный новичок.



ДАВАЙТЕ ГООООООООООООООООООООО - -

Предположим, мы создавали веб-сайт, отображающий список сообщений в блоге.

Есть 2 метода, которые вы можете использовать для реализации разбивки на страницы в своем приложении laravel:

  1. paginate () - метод paginate подсчитывает общее количество записей, соответствующих запросу, перед извлечением записей из базы данных. Это сделано для того, чтобы paginator знал, сколько всего страниц записей.

2. simplePaginate (). Если вам нужно отобразить только простые ссылки Next и Previous в пользовательском интерфейсе вашего приложения, вы можете использовать метод simplePaginate для выполнения единственного эффективного запроса.

Просто передайте метод paginate() или simplePaginate() в представление, в котором вы хотите отображать сообщения в вашем контроллере. У метода есть один аргумент - количество записей, которые вы хотите отображать в каждом посте. В этом примере я использовал 10, так что - paginate(10) или simplePaginate(10) в зависимости от того, что вы используете

PostController

postView.blade.php

В вашем view вам нужно только вызвать $posts->links() после вашего оператора цикла или в любом месте, где вы хотите, чтобы отображалась разбивка на страницы, и все готово

Пагинация с помощью всего нескольких строк кода, настроенных для вас.

Настройка пагинации

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

По умолчанию представления, отображаемые для отображения ссылок нумерации страниц, совместимы с Tailwind CSS фреймворком.

Здесь я использовал CSS-фреймворк Bootstrap. Если вы хотите использовать Bootstrap—

  • Перейти в App\Providers\AppServiceProvider класс
  • Добавьте это к bootфункции -

Если вы хотите использовать свой собственный стиль для разбивки на страницы, вы можете сделать это

  • Запустите php artisan vendor:publish --tag=laravel-pagination - все представления разбивки на страницы будут экспортированы в ваш resources/views/vendor каталог.
  • Файл tailwind.blade.php в этом каталоге соответствует представлению с разбивкой на страницы по умолчанию. Вы можете отредактировать этот файл, чтобы изменить HTML-код нумерации страниц.
  • Если вы хотите назначить другой файл в качестве представления разбивки на страницы по умолчанию, вы можете вызвать методы defaultView и defaultSimpleView пагинатора в boot методе вашего App\Providers\AppServiceProvider класса.

Спасибо за прочтение. С Новым Годом!