使用页面和限制结果创建 laravel api

Create laravel api with page and limit results

我想创建一个带有限制和页码的 api,我正在尝试使用 api 在我的应用程序中滚动加载更多数据。

问题 1:如何限制每页的结果。

例如 https://placewave.com/allusers?results=10&page=2

page=2 上方的 URL 显示第二页 results=10 第 2 页的 10 个提取结果,第 3 页的结果相同

我的代码

public function allUser(Request $request)
{
    $pageno = $request->pageno;
    return Users::where('active', 'online')
        ->limit(10)->offset($pageno)
        ->get();
}
->paginate($request->get('results', 10))

Laravel 的分页已经处理 limitoffset,方法是传递您想要的记录数 per-page,并检查 page=X 查询字符串参数。因此,您可以按如下方式重写代码:

public function allUser(Request $request) {
  return Users::where('active', 'online')->paginate($request->input('results', 10));
}

您可能还想提供一些验证,以防止坏人弄乱您的 results 参数:

public function allUser(Request $request) {
  $perPage = $request->input('results', 10);
  if (!is_numeric($perPage)) {
    $perPage = 10;
  }

  return Users::where('active', 'online')->paginate($perPage);
}