我想創建一個帶有限制和頁碼的 api,我正在嘗試使用 api 在我的應用程式中加載更多滾動資料。
問題 1:如何限制每頁的結果。
例如
https://placewave.com/allusers?results=10&page=2
上面的 URLpage=2顯示了第二頁,results=10第 2 頁的 fetch 結果為 10,第 3 頁的結果相同,為 10。
我的代碼
public function allUser(Request $request)
{
$pageno = $request->pageno;
return Users::where('active', 'online')
->limit(10)->offset($pageno)
->get();
}
uj5u.com熱心網友回復:
->paginate($request->get('results', 10))
uj5u.com熱心網友回復:
Laravel 的分頁已經處理limit并offset通過傳遞您希望每頁的記錄數,并通過檢查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);
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/426300.html
