Пагинация массива в Laravel

Пагинация массива в Laravel достаточно делается легко при помощи класса LengthAwarePaginator.
// Импортируем класс
use Illuminate\Pagination\LengthAwarePaginator as Paginator;
// Получаем текущую страницу
$currentPage = Paginator::resolveCurrentPage();
// Создаем коллекцию
$collection = collect($categories);
// Задаем кол-во элементов на страницу
$perPage = 15;
// Выбираем элементы для текущей страницы
$currentPageItems = $collection->slice(($currentPage - 1) * $perPage, $perPage);
// Создаем экземпляр класса Paginator
$items = new Paginator($currentPageItems, count($collection), $perPage);
// Указываем URI для генерации ссылок пагинации
$items->setPath($request->url());
// Возвращаем представление
return view('pagination', compact('items'));
В представлении для вывода пагинации используем как и в обычной пагинации $items->links().
<!doctype html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<meta name="viewport"
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Пагинация массива</title>
</head>
<body>
@foreach($items as $item)
{{ $item['name'] }} <br>
@endforeach
{{ $items->links() }}
</body>
</html>