用的 layui 的界面,我返回的数据是处理后的数组,所以需要用到数组分页
1
0.1 新建 app/Helper/Helper.php
0.2 composer.json 中的 autoload 增加
"files":[
"app/Helper/Helper.php"
]
示例
"autoload": {
"psr-4": {
"App\\": "app/"
},
"classmap": [
"database/seeds",
"database/factories"
],
"files":[
"app/Helper/Helper.php"
]
},
0.3 在根目录执行 composer dump-auto
2 Helper.php 中
<?php
use app\Helper;
use Illuminate\Http\Request;
use Illuminate\Pagination\LengthAwarePaginator;
use Illuminate\Pagination\Paginator;
function arr_limit(Request $request,$arr)
{
// 自己的逻辑
$perPage = 10; //每页显示数量
if ($request->has('page')) {
$current_page = $request->input('page');
$current_page = $current_page <= 0 ? 1 :$current_page;
} else {
$current_page = 1;
}
$item = array_slice($arr, ($current_page-1)*$perPage, $perPage);//$Array为要分页的数组
$totals = count($arr);
$data = new LengthAwarePaginator($item, $totals, $perPage, $current_page, [
'path' => Paginator::resolveCurrentPath(),
'pageName' => 'page',
]);
return $data;
}
3 控制器如何使用
use App\Helper\Helper;
$data = arr_limit($request,$data);
return $data;
4 页面中
return {
"code": '0', //解析接口状态
"msg": res.message, //解析提示文本
"count": res.total, //解析数据长度
"data": res //解析数据列表, $data
}