How can I display pagination in laravel?

16,392

Solution 1

your controller code will look like this

$products = DB::table('products')->paginate(20);
return view('admin.product.index', ['products' => $products ]);

your view page code look like this

   @foreach ($products as $product)
         {{ $product->product_name}}
    @endforeach
    {{ $products->links() }}

Note : Add more items more than your limit to view pagination links

Solution 2

In laravel pagination can be done using two method

1) Using Query Builder Results

$products= DB::table('products')->paginate(15);

or

$products= DB::table('products')->simplePaginate(15);

If you only need to display simple "Next" and "Previous" links in your pagination view, you may use the simplePaginate method.

2) Using Eloquent Results

$products= App\Products::paginate(15);

To print pagination links

{{ $products->links() }}

customize pagination view using

{{ $paginator->links('view.name') }}

or you can refer this link for more custom pagination view

Custom pagination view in Laravel 5

Solution 3

Use paginate() function

App\Product::paginate();

or by query builder:

$products= DB::table('products')->paginate(15);
Share:
16,392
Success Man
Author by

Success Man

Updated on June 04, 2022

Comments

  • Success Man
    Success Man almost 2 years

    I use laravel 5.6

    I try this documentation : https://laravel.com/docs/5.6/pagination

    My controller like this :

    public function index()
    {
        $products = $this->product->list(); 
        dd($products);
        return view('admin.product.index',compact('products'));
    }
    

    My list function like this :

    public function scopeList($query)
    {
        return $query->orderBy('updated_at', 'desc')->paginate(20);
    }
    

    If I dd($products);, the result like this :

    enter image description here

    On the view laravel, I add this :

     {{ $products->links() }}
    

    Then I check on the web, the result empty

    Why the result empty?

    Is there something wrong?

    If the image not display, access here : https://postimg.org/image/w39usbfrv/

  • moses toh
    moses toh about 6 years
    I had it in method list. See my question. I had update it
  • Mahdi Younesi
    Mahdi Younesi about 6 years
    forget $this->product->list(); do as my answer
  • Angel
    Angel about 4 years
    Is it possible to display the first page?