Постраничная навигация

Постраничная навигация реализовывается через метод paginate().

$posts = Post::paginate(10); // 1-ый способ
$posts = DB::table('posts')->paginate(10); // 2-ой способ

В результате будут выбраны первые 10 записей. Чтобы выбрать 10 записей на второй странице, достаточно в URL добавить параметр ?page=2.

Вывести постраничную навигацию можно через метод links().

{{ $posts->links() }}

В результате сгенерируется следующая навигация:

Чтобы редактировать шаблон постраничной навигации, его надо скопировать из папки с «vendor/laravel/». Самый простой способ сделать это, выполнить команду ниже:

php artisan vendor:publish --tag=laravel-pagination

В результате появится файл resources/views/vendor/pagination/default.blade.php, в котором можно редактировать постраничную навигацию.

Вперёд / Назад

Можно сделать постраничную навигацию из двух кнопок: «вперёд» и «назад». Делается это через метод simplePaginate().

$posts = Post::simplePaginate(10); // 1-ый способ
$posts = DB::table('posts')->simplePaginate(10); // 2-ой способ

В результате сгенерируется следующая навигация:

Шаблон постраничной навигации находится в файле resources/views/vendor/pagination/simple-default.blade.php. Если такого файла нет, то надо выполнить команду ниже.

php artisan vendor:publish --tag=laravel-pagination

Строка запроса

Добавить параметры в строку запроса можно через метод appends().

{{ $posts->appends(['category' => '4'])->links() }}

В результате ссылка будет иметь вид «current-page?category=4&page=2».