Laravel 8/7 Overwriting the Default Pagination System

Laravel 8/7 Overwriting the Default Pagination System

There are two types of pagination methods that are currently supported by default for the Query Builder results and the Eloquent ORM queries. They include:

  • simplePaginate()
  • paginate()

 simplePaginate - only the Prev and Next buttons for navigating through the results

paginate -  Prev and Next buttons for navigating  with page numbers

Controller Example Method

Using the paginate() method:

public function index()
{
    $users= DB::table('users')->paginate(10);
return view('user.index', ['invoices' => $invoices]); }

Using the simplePaginate() method:

public function index()
{
    $users= DB::table('users')->simplePaginate(10);
return view('user.index', ['users' => $users]);
}

Paginating Eloquent Results

Using the paginate() method:

use App\Models\User;                                                 
public function index()
{
    $users= User::paginate(10);
return view('user.index', ['users' => $users]);
}

    Using the simplePaginate() method:

    use App\Models\User;     
    public function index()
    {
        $users=User::paginate(10);
    return view('user.index', ['users' => $users]);
    }

    Render the Pagination Results in the View

    {{ $users->links() }}

    Customizing the Pagination HTML

    php artisan vendor:publish --tag=laravel-pagination

    This command will automatically create the folder /resources/views/vendor/pagination.

    If you open it, you'll notice a few blade files.

    you will need to inform the AppServiceProvider for this action by calling the new pagination views in the boot() method:

    use Illuminate\Pagination\Paginator;
    
    public function boot()
    {
         Paginator::defaultView('vendor.pagination.bootstrap-4'); // pass yours pagnation view name 
    
        Paginator::defaultSimpleView('your-pagination-view-name'); // pass yours simple pagnation view name 
    }



Tags

We are Recommending you:

Leave a comment

Comments