Skip to content

All topics  /  Laravel

How To Add Pagination In Laravel 7

Laravel ·

Teams applying “How To Add Pagination In Laravel 7” in a production project can use this project guide to record implementation, review and debugging time, then compare that effort with tests and shipped functionality instead of treating activity as performance by itself.

Before copying the example into a live application, confirm version-specific behaviour with the official Laravel website and test it against the project’s actual database and runtime.

Hello all! In this article, we will talk about pagination in laravel 7. i explained simply about laravel 7 pagination example blade. i explained simply step by step laravel 7 pagination example code. let’s discuss about laravel 7 pagination example. Follow bellow tutorial step of create pagination in laravel 7 example.

We know pagination is a primary requirement of each and every project. so if you are beginner with laravel than you must know how to use pagination in laravel 7 and what is other function that can use with laravel 7 pagination.

Step 1: Add Route


First thing is we put one route in one for list users with pagination. So simple add both routes in your route file.

routes/web.php

Route::get('users', 'UserController@index');

Step 2: Create Controller

Same things as above for route, here we will add one new method for route. index() will return users with pagination data, so let's add bellow:

app/Http/Controllers/UserController.php

<?php

   
namespace App\Http\Controllers;

   
use Illuminate\Http\Request;
use App\User;

  
class UserController extends Controller
{
    /**
     * Display a listing of the resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function index()
    {
        $data = User::paginate(10);
        return view('users',compact('data'));
    }
}

Step 3: Create Blade File

In this step, you need to create users blade file and put bellow code with links() so it will generate pagination automatically. So let's put it.

resources/views/users.blade.php

@extends($theme)

  
@section('content')

  
<table class="table table-bordered">
    <thead>
        <tr>
            <th>Name</th>
            <th width="300px;">Action</th>
        </tr>
    </thead>
    <tbody>
        @if(!empty($data) && $data->count())
            @foreach($data as $key => $value)
                <tr>
                    <td>{{ $value->name }}</td>
                    <td>
                        <button class="btn btn-danger">Delete</button>
                    </td>
                </tr>
            @endforeach
        @else
            <tr>
                <td colspan="10">There are no data.</td>
            </tr>
        @endif
    </tbody>
</table>

   
{!! $data->links() !!}

  
@endsection

If you need advance used of pagination then you can see bellow how to use.

Pagination with appends parameter

{!! $data->appends(['sort' => 'votes'])->links() !!}

Pagination with appends request all parameters

{!! $data->appends(Request::all())->links() !!}

I hope it can help you....