我正在 Laravel 中開展一個專案,并使用 DB Facade 來運行 sql 的原始查詢。就我而言,我使用的是 DB::select,問題是分頁方法無法使用它并顯示此錯誤
呼叫陣列上的成員函式 paginate()
如何對這個原始查詢進行分頁?這是我的代碼:
$que= DB::select("SELECT * FROM tbl_ourpeople INNER JOIN tbl_ourpeople_category ON
tbl_ourpeople.category = tbl_ourpeople_category.categoryId WHERE tbl_ourpeople.id>1");
return view('view',compact('que'));
uj5u.com熱心網友回復:
試試這個:
$query = DB::table('tbl_ourpeople')
->join('tbl_ourpeople_category', 'tbl_ourpeople.category', '=', 'tbl_ourpeople_category.categoryId')
->where('tbl_ourpeople.id', '>', 1)
->paginate(15);
uj5u.com熱心網友回復:
對于純原始查詢,您可以使用這種方式。
$perPage = $request->input("per_page", 10);
$page = $request->input("page", 1);
$skip = $page * $perPage;
if($take < 1) { $take = 1; }
if($skip < 0) { $skip = 0; }
$que = DB::select(DB::raw("SELECT * FROM tbl_ourpeople INNER JOIN tbl_ourpeople_category ON
tbl_ourpeople.category = tbl_ourpeople_category.categoryId WHERE tbl_ourpeople.id>1"));
$totalCount = $que->count();
$results = $que
->take($perPage)
->skip($skip)
->get();
$paginator = new \Illuminate\Pagination\LengthAwarePaginator($results, $totalCount, $take, $page);
return $paginator;
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/391968.html
