【发布时间】: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