laravel实现json格式的异步分页

本文介绍了一种使用PHP实现的分页查询方法,通过自定义类FlowServer中的flow_info方法来处理分页逻辑。该方法接受请求参数、查询条件、时间戳及每页显示条数等参数,并返回包含列表数据及总页数的数组。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

直接上代码

<?php
/**
 * Created by PhpStorm.
 * User: mnmnwq
 */
namespace ***;
use Illuminate\Pagination\LengthAwarePaginator;
use Illuminate\Pagination\Paginator;

class FlowServer {
    /**
    * 是我
    */
    public function flow_info($request,$where,$time,$page_num){
        $where = [];
        $info = $table
            ->where($where)
            ->get();
        $perPage = $page_num;  //每页显示数据条数
        $total = count($info); //数据总条数
        $page_info = [];
        foreach($info as $v){ 
            $page_info[] = $v; 
        }
        if($request->has('page')) {
            $current_page = $request->input('page');
            $current_page = $current_page <= 0 ? 1 :$current_page;
        } else {
            $current_page = 1;
        }
        $total_page = ceil($total/$page_num);
        $item = array_slice($page_info, ($current_page-1)*$perPage, $perPage);
        $paginator =new LengthAwarePaginator($item, $total, $perPage, $current_page, [
            'path' => Paginator::resolveCurrentPath(),
            'pageName' => 'page',
        ]);
        $list = $paginator->toArray()['data'];
        $re['list'] = $list;
        $re['total_page'] = $total_page;
        return $re;
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值