Reputation: 13162
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 :
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/
Upvotes: 4
Views: 23397
Reputation: 7489
Use paginate()
function
App\Product::paginate();
or by query builder:
$products= DB::table('products')->paginate(15);
Upvotes: 1
Reputation: 1633
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
Upvotes: 4
Reputation: 281
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
Upvotes: 7
Reputation: 1952
That's because, you are paginiating for 20 products and you have only 11 products. That is why
pagination will only come only if there are more then the number of products you are requesting .. For you u have one page and 11 products. Look at the top #total:11
, lastpage:1
that's why empty pagination , because there is nothing to paginate.
Upvotes: 1