使用页面和限制结果创建 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 的分页已经处理 limit
和 offset
,方法是传递您想要的记录数 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);
}
我想创建一个带有限制和页码的 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 的分页已经处理 limit
和 offset
,方法是传递您想要的记录数 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);
}