在使用 laravel 分頁功能時,我們可能需要在每個頁面中攜帶一些參數,比如搜索關鍵字、排序方式等等。本文將介紹如何在 laravel 中實現帶參數的分頁功能。
首先,我們需要了解 Laravel 分頁功能的基本用法。在控制器中使用以下代碼即可對數據進行分頁:
use IlluminatePaginationPaginator; $data = DB::table('table_name')->paginate(10); return view('view_name', ['data' => $data]);
其中,將從表 table_name 中獲取所有數據,并將其分頁顯示,每頁顯示 10 條數據。最終將分頁數據傳遞到視圖頁面 view_name 中,變量名為 data。
如果我們需要在分頁鏈接中攜帶參數,可以在視圖頁面中使用 Laravel 提供的 appends() 方法。例如,我們需要在分頁鏈接中攜帶一個名為 search 的搜索關鍵字參數,可以在視圖頁面中這樣寫:
{{ $data->appends(['search' => $keyword])->links() }}
其中,$keyword 為搜索關鍵字。appends() 方法接受一個數組參數,將其中的鍵值對添加到分頁鏈接中。links() 方法將生成分頁鏈接。
上述代碼將生成類似如下的分頁鏈接:
http://example.com?page=2&search=keyword
這樣,在每頁中點擊分頁鏈接時,搜索關鍵字參數 search=keyword 將會自動攜帶到鏈接中。
除了攜帶單個參數,我們還可以同時攜帶多個參數。例如,我們需要在分頁鏈接中攜帶一個名為 search 的搜索關鍵字參數和一個名為 sort 的排序方式參數,可以這樣寫:
{{ $data->appends(['search' => $keyword, 'sort' => $sort])->links() }}
在控制器中獲取這些參數非常簡單,只需使用 Laravel 提供的 request() 方法即可。例如,獲取名為 search 的搜索關鍵字參數和名為 sort 的排序方式參數,可以這樣寫:
$search = request('search'); $sort = request('sort');
以上代碼將分別獲取名為 search 和 sort 的參數值,如果不存在則默認為 null。
在 Laravel 中實現帶參數的分頁功能非常簡單,只需使用 appends() 方法即可輕松攜帶參數。在掌握了基本用法之后,我們可以根據具體實際需求自由定制參數及其值,實現更加靈活的分頁功能。