有时候在对数据查询后可能要对数据进行增删,这样就没法使用laravel的分页了。下面这是我使用laravel分页类做的手动分页。


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
$arr = [1,2,3,4,5,6,7,8,9,10,11,12,13]

$page = !empty($request->page) ? $request->page : 1;//页码
$page_size = !empty($request->page_size) ? $request->page_size : 10;//每页显示条数

if ($page <= 1){
$start = 0;
}else{
$start = ($page - 1) * $page_size;
}

$res = new LengthAwarePaginator(
array_slice($arr,$start,$page_size),
count($arr),
$page_size,
$page,
['path' => $request->url(), 'query' => $request->query()]
);

LengthAwarePaginator类参数说明

1
2
3
4
5
* @param  mixed  $items 		 需要分页的当前页数据 使用array_slice()
* @param int $total 总条数
* @param int $perPage 每页显示条数
* @param int|null $currentPage 当前页码
* @param array $options (path, query, fragment, pageName) 项目url