You are using simplePaginate. There are no numbers of pages.
Use a classic paginate, or remove a whole foreach with $elements in your layouts.paginate blade file.
Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.
Hi, I'm currently trying to prettify laravel pagination url using Laravel Paginate Route by @MichalOravec. It's an awesome package, but when I try to use custom paginate view, i got Undefined variable $elements error.
This is how my controller looks like:
public function index()
{
$limit = 1;
$datas = Models::latest()->simplePaginate($limit);
$count = $datas->count();
$no = $limit * ($datas->currentPage() - 1);
return view('index', compact(
'datas',
'count',
'no'
));
}
And this is how I render the pagination in my index blade:
{{ $sliders->onEachSide(1)->links('layouts.paginate') }}
And this is how my paginate blade looks like:
@if ($paginator->hasPages())
<nav>
<ul class="pagination">
{{-- Previous Page Link --}}
@if ($paginator->onFirstPage())
<li class="page-item disabled" aria-disabled="true" aria-label="@lang('pagination.previous')">
<span class="page-link" aria-hidden="true">‹</span>
</li>
@else
<li class="page-item">
<a class="page-link" href="{{ PaginateRoute::previousPageUrl() }}" rel="prev" aria-label="@lang('pagination.previous')">‹</a>
</li>
@endif
{{-- Pagination Elements --}}
@foreach ($elements as $element)
{{-- "Three Dots" Separator --}}
@if (is_string($element))
<li class="page-item disabled" aria-disabled="true"><span class="page-link">{{ $element }}</span></li>
@endif
{{-- Array Of Links --}}
@if (is_array($element))
@foreach ($element as $page => $url)
@if ($page == $paginator->currentPage())
<li class="page-item active" aria-current="page"><span class="page-link">{{ $page }}</span></li>
@else
<li class="page-item"><a class="page-link" href="{{ $url }}">{{ $page }}</a></li>
@endif
@endforeach
@endif
@endforeach
{{-- Next Page Link --}}
@if ($paginator->hasMorePages())
<li class="page-item">
<a class="page-link" href="{{ PaginateRoute::nextPageUrl($paginator) }}" rel="next" aria-label="@lang('pagination.next')">›</a>
</li>
@else
<li class="page-item disabled" aria-disabled="true" aria-label="@lang('pagination.next')">
<span class="page-link" aria-hidden="true">›</span>
</li>
@endif
</ul>
</nav>
@endif
I'm trying to follow @MichalOravec but got the error I mentioned above.
Is there any solution for this?
Ps: This is my first thread, sorry for my bad writing v('_')
Please or to participate in this conversation.