Создание экземпляра пагинатора
По желанию можно вручную создать экземпляр пагинатора, передав ему массив элементов, которые у вас уже есть в памяти. Вы можете сделать это, создав экземпляр Illuminate\Pagination\Paginator
, Illuminate\Pagination\LengthAwarePaginator
или Illuminate\Pagination\CursorPaginator
, в зависимости от ваших потребностей.
Классам Paginator
и CursorPaginator
не требуется знать общее количество элементов в результирующем наборе; однако из-за этого у классов нет методов для получения индекса последней страницы. LengthAwarePaginator
принимает почти те же аргументы, что и Paginator
; однако, для этого требуется подсчет общего количества элементов в результирующем наборе.
Другими словами, Paginator
соответствует методу simplePaginate
построителя запросов, CursorPaginator
– методу cursorPaginate
, а LengthAwarePaginator
– методу paginate
.
При ручном создании экземпляра пагинатора вы должны самостоятельно «разрезать» массив результатов, который вы передаете в пагинатор. Если вы не знаете, как это сделать, ознакомьтесь с функцией PHP array_slice
.