Разбиение на страницы в Laravel: как использовать разбиение на страницы в Laravel 8

Разбиение на страницы в Laravel не требует усилий, потому что Laravel предоставляет метод paginate () . Пагинатор Laravel готов к работе с конструктором запросов и Eloquent ORM и включает результаты из базы данных. HTML, сгенерированный средством разбиения на страницы, совместим с платформой Bootstrap CSS. Когда у нас есть тысячи строк в базе данных, тогда потребуется разбиение на страницы.

Как использовать разбиение на страницы в Laravel

Там Есть несколько способов разбивки на страницы элементов базы данных. Короткий и удобный способ — использовать метод Laravel paginate () в построителе запросов или запрос Eloquent.

Метод paginate () автоматически устанавливает правильный предел и смещение в зависимости от текущей страницы, которую просматривает пользователь.

По умолчанию текущая страница определяется значением аргумента строки запроса страницы в HTTP-запросе. Это значение автоматически обнаруживается Laravel и автоматически вставляется в ссылки, генерируемые пагинатором.

Если Laravel предоставляет что-то из царапина, тогда, пожалуйста, не создавайте свой подход. Люди часто создают свой код для разбивки на страницы, что неверно. Используйте вспомогательный метод Laravel, это чистый способ.

Теперь давайте посмотрим, как разбиение на страницы в учебнике Laravel в действии.

Сначала мы устанавливаем Laravel 8 , а затем подделываем некоторые данные с помощью библиотеки faker.

Шаг 1 : Установить Laravel 8

Введите следующую команду.

 composer create-project laravel/laravel lapagination --prefer-dist 

Теперь настройте базу данных в файле .env .

Хорошо, затем перейдите в терминал и нажмите следующую команду.

 php artisan migrate 

Он создаст две таблицы в базе данных. Теперь мы используем библиотеку faker для заполнения данных в базе данных.

Шаг 2. Создание поддельных данных в базе данных.

Если вам интересно, как его установить, хорошие новости — он уже установлен для вас в Laravel !

Взгляните на стандартный composer.json Laravel.

 "require-dev": {"filp/whoops": "~ 2.0", "nunomaduro/collision": "~ 1.1", "  fzaninotto/faker ":" ~ 1.4 "," mockery/mockery ":" ~ 1.0 "," phpunit/phpunit ":" ~ 7.0 "," symfony/thanks ":" ^ 1.0 "}, 

Теперь нам нужно написать 6-7 строк кода для генерации поддельных данных пользователей. Перейдите в базу данных >> семена >> DatabaseSeeder и добавьте в нее следующие строки кода.

//DatabaseSeeder.php/** * Запустите базу данных  семена. * * @return void */публичная функция run () {$ faker = Faker :: create ();  foreach (диапазон (1,1000) как $ index) {DB :: table ('users') -> insert (['name' => $ faker-> name, 'email' => $ faker-> email, '  пароль '=> bcrypt (' секрет '),]);  }} 

Сначала мы создали объект-фейкер, а затем перебираем разные столбцы таблицы пользователей и назначаем по одному свойству за раз.

Каждый раз, когда цикл повторяется, новые случайные данные генерируются и прикрепляются к определенным столбцам.

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

 php artisan db: seed 

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

Команда db: seed запускает этот файл с именем

Шаг 3. Отображение данных во внешнем интерфейсе.

Теперь перейдите в файл HomeController.php и создайте его. функция под названием

//HomeController.phpuse App  User; общедоступная функция getUsers () {$ users = User :: all ();  return view ('index', compact ('users'));} 

Определите маршрут внутри файла web.php .

//web.phpRoute :: get ('/users', 'HomeController @ getUsers') -> name ('users'); 

Наконец, создайте один файл внутри resources >> views , папка с именем

       Данные пользователей      
@foreach ($ users как $ user) @endforeach
ID Имя Электронная почта
{{$ user-> id}} {{$ user-> name}} {{$ user-> email}}

Прямо сейчас он отображает все строки, и это то, что мы хотим. Мы хотим разбить данные на страницы. Итак, давайте сделаем это.

Шаг 4. Пагинация красноречивых результатов

Нам нужно использовать разбиение на страницы () , предоставляемая моделью Eloquent. Поэтому замените метод all () на paginate () и передайте количество строк в качестве параметра.

//HomeController. php $ users = User :: paginate (15); 

Теперь нам нужно отобразить веб-компонент pagination в интерфейсе пользователя. Как мы уже говорили ранее, объект разбиения на страницы Laravel хорошо работает с Bootstrap CSS Framework .

Итак, нам нужно добавить следующий код в table внутри файла index.blade.php .

 {{$ users-> links ()}} 

Итак, весь наш файл index.blade.php выглядит так.

       Данные пользователей      
@foreach ($ users как $ user) @endforeach
ID Имя Электронная почта
{{$ user-> id}} {{$ user-> name}} {{$ user-> email}}
{{$ users-> links ()}}

Преобразование результатов разбивки на страницы в JSON

Классы результатов разбиения на страницы Laravel реализуют Illuminate Contracts Support Jsonable Контракт интерфейса и предоставление метода, поэтому преобразование результатов разбивки на страницы в JSON несложно.

Итак, напишите следующий код внутри файла web.php .

 Route :: get ('users', function (  ) {return App  User :: paginate (4);}); 

Таким образом, он будет возвращен как данные в формате JSON. Таким образом, вы можете использовать этот объект и его метаданные во внешнем интерфейсе для создания разбивки на страницы в соответствии с вашими требованиями.

Заключение

В других фреймворках разбивка на страницы может быть очень болезненной. Laravel делает это проще простого. Чтобы использовать его, сначала вы должны внести изменения в свой контроллер и вызвать метод paginate () для извлечения данных из базы данных, а затем внутри представления использовать метод render () для получения данных с разбивкой на страницы.

Laravel решает почти всю сложную логику за нас и экономит время.

Рекомендуемые сообщения

Метод фильтрации коллекций Laravel

Коллекция Laravel Eloquent

Как создать многоязычный веб-сайт с помощью Laravel

Интеграция с платежным шлюзом Laravel Stripe

Laravel Cashier Braintree Payment Gateway

Проверка Laravel

Как экспортировать данные в Excel и CSV

Laravel PDF из представления

Поиск коллекций Laravel

Проверка электронной почты Laravel

Оцените статью
nanomode.ru
Добавить комментарий