Я использую Laravel 5.2 и LengthAwarePaginator для разбивки моей коллекции на страницы, все идет хорошо, кроме метода lastPage (), он дает мне 1, как всегда.
Вот мой код:
Я собираю коллекцию с помощью цикла для каждого:
$collection = collect();
foreach ($rows as $row) {
$collection->push($row);
}
затем я разбивать на страницы использую:
$collection = $collection->sortBy('id')->forPage($page, $page_limit);
$collection = new LengthAwarePaginator($collection, $collection->count(), $page_limit, $page);
return $collection;
Вот моя информация о разбиении на страницы:
Мой вопрос: почему -> значение lastPage () всегда равно 1?
Любая помощь будет мне очень полезна.
заранее спасибо






Это связано с тем, что ваш $collection после первой строки будет содержать только 8 элементов, а затем вы передаете его количество в качестве второго аргумента в LengthAwarePaginator, который вернет количество 8 элементов.
В вашем случае я бы сделал следующее:
$all = $collection->sortBy('id');
$chunk = $collection->forPage(3, 8);
$paginator = new LengthAwarePaginator($chunk, $all->count(), 8, 3);