在 Laravel 中,手動創建分頁可以使用 Illuminate\Pagination\LengthAwarePaginator
類。以下是一個簡單的示例:
LengthAwarePaginator
實例:use Illuminate\Http\Request;
use Illuminate\Pagination\LengthAwarePaginator;
public function index(Request $request)
{
// 獲取當前頁碼,默認為 1
$page = $request->input('page', 1);
// 每頁顯示的數據量
$perPage = 10;
// 從數據庫或其他數據源獲取數據
$data = $this->getDataFromDataSource();
// 計算總數據量
$total = count($data);
// 根據當前頁碼和每頁顯示的數據量,獲取要顯示的數據
$results = array_slice($data, ($page - 1) * $perPage, $perPage);
// 創建一個新的 LengthAwarePaginator 實例
$paginatedData = new LengthAwarePaginator($results, $total, $perPage, $page, [
'path' => LengthAwarePaginator::resolveCurrentPath(),
]);
// 將分頁數據傳遞給視圖
return view('your-view', ['data' => $paginatedData]);
}
links()
方法來顯示分頁鏈接: <!-- 表格內容 -->
</table>
<!-- 分頁鏈接 -->
{{ $data->links() }}
這樣,你就可以在 Laravel 中手動創建分頁了。請注意,這個示例假設你已經從數據源(如數據庫)獲取了所有數據。在實際應用中,你可能需要根據當前頁碼和每頁顯示的數據量來查詢數據庫。