amamarul / laravel-paginator
Laravel 集合或数组分页器
1.0.1
2017-03-15 01:00 UTC
This package is not auto-updated.
Last update: 2024-09-28 20:55:16 UTC
README
为数组或集合创建分页
安装
Composer require
$ composer require amamarul/laravel-paginator
将提供者添加到config/app.php中
Amamarul\Paginator\PaginatorServiceProvider::class,
使用方法
在控制器中
- 数组
use Amamarul\Paginator\Paginator; use Illuminate\Http\Request; public function index(Request $request) { $currentPage = isset($request['page']) ? (int) $request['page'] : 1; $perPage = 1; $path = $request->path(); $items = array_map(function ($value) { return [ 'name' => 'User #' . $value, 'url' => '/user/' . $value, ]; }, range(1,1000)); $paginator = new Paginator($items); $paginator = $paginator->paginate($currentPage,$perPage, $path); return view('index')->with('paginator', $paginator); }
- 集合
use App\User; use Amamarul\Paginator\Paginator; use Illuminate\Http\Request; public function index(Request $request) { $currentPage = isset($request['page']) ? (int) $request['page'] : 1; $perPage = 1; $path = $request->path(); $items = User::with('profile')->get()->sortBy('profile.name'); $paginator = new Paginator($items); $paginator = $paginator->paginate($currentPage,$perPage, $path); return view('index')->with('paginator', $paginator); }
在 Blade 视图中(index.blade.php)
@foreach ($paginator->items() as $element) <a href="{!!$element['url']!!}"><h3>{!!$element['name']!!}</h3></a> @endforeach {!! $paginator->render() !!}
自定义页面名称
默认情况下,URL 中有 page
名称 http://127.0.0.1:8000/?page=3
。如果您想更改页面名称,只需添加一个带有该名称的第四个参数即可。例如
use App\User; use Amamarul\Paginator\Paginator; use Illuminate\Http\Request; public function index(Request $request) { $currentPage = isset($request[$pageName]) ? (int) $request[$pageName] : 1; $perPage = 1; $path = $request->path(); $pageName = 'custom-name'; $items = User::with('profile')->get()->sortBy('profile.name'); $paginator = new Paginator($items); $paginator = $paginator->paginate($currentPage,$perPage, $path, $pageName); return view('index')->with('paginator', $paginator); }
欢迎提出改进意见
由 Maru Amallo-amamarul 创建