【问题标题】:Laravel pagination get next pageLaravel 分页获取下一页
【发布时间】:2019-03-28 15:17:13
【问题描述】:

我有一个 api,它将获取按 10 个项目分页的数据。这是我的逻辑:

public function getGamesResult(Request $request)
{
    // Validations
    $rules = [
        'from'=>'required|string',
        'to'=> 'required|string'
    ];

    $validator = Validator::make($request->all(), $rules);

    if ($validator->fails()) {

        // Validation failed
        return response()->json([
            'success' => false,
            'message' => $validator->messages(),
        ]);
    }

    $params =  $request->all();

    $games = Game::whereBetween("game_date", [$params["from"], $params["to"]])->paginate(10);
    $result = [];

    foreach ($games as $game) {

        $win_data = [];
        $winners = $game->result()->get();

        // Get Winning Number Records
        foreach ($winners as $win)
        {
            $winning_numbers_arr = explode(',', $win->winning_numbers);


            $win_data[] = [
                'game_id' => $win->game_id,
                'created_dt' => $win->created_dt
            ];

        }

        $result[] = [
            'game_data' => [
            'game_id' => $game->id,
            'game_date' => $game->game_date
        ],
            'winning_number' => $win_data
        ];
    }

    return response()->json([
        'success' => true,
        'data' => $result,
        'total'=> $games->total(),
        'count'=> $games->count(),
        'hasMorePages'=> $games->hasMorePages(),
        'currentPage'=> $games->currentPage()
    ]);
}

我的问题是 laravel 如何知道我什么时候要获取接下来的 10 条记录?还是我做错了?如果总共有 3000 条记录,我将如何使用相同的逻辑获取下一页?

【问题讨论】:

    标签: laravel pagination


    【解决方案1】:

    Laravel 的分页器包含自动获取请求下一页的所有逻辑

    https://laravel.com/docs/5.8/pagination#paginating-query-builder-results

    如果您在网址末尾添加?page=2,它将获取第二页。如果未传递任何参数,则假定为第 1 页。

    【讨论】:

    • 谢谢!我只需添加页面参数即可对其进行测试。
    猜你喜欢
    • 1970-01-01
    • 2013-11-06
    • 2020-02-18
    • 2014-12-29
    • 1970-01-01
    • 2017-06-19
    • 2014-04-05
    • 2021-09-02
    • 2019-08-29
    相关资源
    最近更新 更多