laravel show only next and previous link in pagination

user3150060 picture user3150060 · Oct 1, 2014 · Viewed 18.1k times · Source

I ma trying to use Laravel Pagination and I only want to show the Previous and Next link with out the number 1 2 3 ...

how could I do that? I followed Laravel page : "Simple Pagination"

If you are only showing "Next" and "Previous" links in your pagination view, you have the option of using the simplePaginate method to perform a more efficient query. This is useful for larger datasets when you do not require the display of exact page numbers on your view:

$someUsers = User::where('votes', '>', 100)->simplePaginate(15);

but this still shows the page number when I do this in my view:

<?php echo $someUsers->links(); ?>

can anyone help

Thanks

Answer

Jarek Tkaczyk picture Jarek Tkaczyk · Oct 2, 2014

tldr; you want to use simplePaginate() method on the query AND links('some.view') on the paginator (in the view) in order to achieve what you ask for.

Here's what you need in order to show chosen links in given template:

// inline choose simple links (prev, next)
{{ $someUsers->links('pagination::simple') }}

// inline choose slider links
{{ $someUsers->links('pagination::slider') }}

// inline choose slider-3 (default)
{{ $someUsers->links('pagination::slider-3') }}

These are framework's templates, placed in laravels directory: Illuminate/Pagination/views/

You can always decide to use your custom templates, for this simply call:

// assuming you have it in app/views/pagination/my-links.blade.php
{{ $someUsers->links('pagination.my-links') }}

// or using views namespace (you need to define it first)
{{ $someUsers->links('myNamespace::my-links') }}

Of course you can define your links as default in app/config/view.php:

// instead of
'pagination' => 'pagination::slider-3',

// something like
'pagination' => 'pagination.my-links',