Laravel 根据数组 分页
Controller – app/Http/Controller/ItemsController.php
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Pagination\LengthAwarePaginator;
use App\Http\Requests;
class ItemsController extends Controller
{
public function items(Request $request)
{
$items = [
'item1',
'item2',
'item3',
'item4',
'item5',
'item6',
'item7',
'item8',
'item9',
'item10'
];
// Get current page form url e.x. &page=1
$currentPage = LengthAwarePaginator::resolveCurrentPage();
// Create a new Laravel collection from the array data
$itemCollection = collect($items);
// Define how many items we want to be visible in each page
$perPage = 1;
// Slice the collection to get the items to display in current page
$currentPageItems = $itemCollection->slice(($currentPage * $perPage) - $perPage, $perPage)->all();
// Create our paginator and pass it to the view
$paginatedItems= new LengthAwarePaginator($currentPageItems , count($itemCollection), $perPage);
// set url path for generted links
$paginatedItems->setPath($request->url());
return view('items_view', ['items' => $paginatedItems]);
}
}
Here is the view file\
resources/views/item_view.blade.php
<h1>Items List</h1>
<ul>
@foreach ($items as $item)
<li> {{ $item }} </li>
@endforeach
</ul>
<div>
{{ $items->links() }}
</div>
本作品采用《CC 协议》,转载必须注明作者和本文链接