<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                [TOC] # 分頁 ## 基本用法 ### 查詢構造器分頁 `paginate`方法根據用戶瀏覽的當前頁碼,自動設置恰當的偏移量 offset 和限制數 limit。默認情況下,HTTP 請求中的`page`查詢參數值被當作當前頁的頁碼。Lavarel 自動偵測該值,并自動將其插入到分頁器生成的鏈接中。 ``` // 傳遞給 paginate 方法的唯一參數是每頁顯示的記錄條數。 <?php namespace App\Http\Controllers; use Illuminate\Support\Facades\DB; use App\Http\Controllers\Controller; class UserController extends Controller { /** * 顯示應用程序中的所有用戶。 * * @return Response */ public function index() { $users = DB::table('users')->paginate(15); return view('user.index', ['users' => $users]); } } ``` >[success] 注意:目前,Lavarel 無法高效地執行使用了`groupBy`語句的分頁操作。如果你需要使用對使用了`groupBy`的結果集分頁,建議你手工查詢數據庫并創建分頁。 ### 簡單分頁 ``` // 只顯示『下一頁』和『上一頁』鏈接 // 在數據多且不需要在渲染視圖時顯示每頁的頁碼時非常有用 $users = DB::table('users')->simplePaginate(15); ``` ### Eloquent 分頁 ``` // 每頁 15 條分頁 $users = App\User::paginate(15); // 查詢條件 $users = User::where('votes', '>', 100)->paginate(15); // 使用 simplePaginate 方法 $users = User::where('votes', '>', 100)->simplePaginate(15); ``` ### 手動創建分頁 有時你可能希望手動創建分頁,并傳遞一個數組集給它。可以通過創建`Illuminate\Pagination\Paginator`或`Illuminate\Pagination\LengthAwarePaginator`實例來實現,這有賴于你的需要。 `Paginator`類不需要知道結果集的總數;但是,這樣一來,這個類就沒辦法獲知最后一頁的索引。`LengthAwarePaginator`接受和`Paginator`幾乎相同的參數;不過,它會計算結果集的總數。 換句話說,`Paginator`相當于 查詢構造器 或 Eloquent 的`simplePaginate`方法,而`LengthAwarePaginator`相當于`paginate`方法。 > 注意:在手動創建分頁實例時,需要人為 “切割” 傳遞給分頁實例的結果數組。如果你對此沒有把握,請參考 PHP 的[array_slice](https://secure.php.net/manual/en/function.array-slice.php)函數。 ## 顯示結果集調用 `paginate`方法時,會得到`Illuminate\Pagination\LengthAwarePaginator`實例。調用`simplePaginate`方法,得到的是`Illuminate\Pagination\Paginator`實例。 ``` <div class="container"> @foreach ($users as $user) {{ $user->name }} @endforeach </div> // links 方法渲染結果集中剩余頁面的鏈接。 // 每個鏈接都包含 page URL 變量。 // links 生成的 HTML 兼容 Bootstrap CSS 框架。 {{ $users->links() }} ``` ### 自定義分頁器 URI ``` // 生成類似 http://example.com/custom/url?page=N 的分頁鏈接 Route::get('users', function () { $users = App\User::paginate(15); $users->withPath('custom/url'); // }); ``` ### 附加參數到分頁鏈接 ``` // 添加參數 sort=votes {{ $users->appends(['sort' => 'votes'])->links() }} // 添加錨點 #foo {{ $users->fragment('foo')->links() }} ``` ### 調整分頁鏈接窗口 ``` // 調整顯示分頁鏈接數量,兩側默認為三個 {{ $users->onEachSide(5)->links() }} ``` ### 將結果轉換為 JSON ``` Route::get('users', function () { return App\User::paginate(); }); { "total": 50, "per_page": 15, "current_page": 1, "last_page": 4, "first_page_url": "http://laravel.app?page=1", "last_page_url": "http://laravel.app?page=4", "next_page_url": "http://laravel.app?page=2", "prev_page_url": null, "path": "http://laravel.app", "from": 1, "to": 15, "data":[ { // 結果集對象 }, { // 結果集對象 } ] } ``` ## 自定義分頁視圖 ``` // 指定分頁視圖 {{ $paginator->links('view.name') }} // 設置參數 {{ $paginator->links('view.name', ['foo' => 'bar']) }} ``` 自定義分頁視圖的最簡方法是使用`vendor:publish`命令將它們輸出到`resources/views/vendor`文件夾,編輯默認的分頁視圖`bootstrap-4.blade.php`文件。 ``` $ php artisan vendor:publish --tag=laravel-pagination ``` 如果想要定義不同的文件作為默認分頁視圖,需要在`AppServiceProvider`中使用分頁器的`defaultView`和`defaultSimpleView`方法: ``` use Illuminate\Pagination\Paginator; public function boot() { Paginator::defaultView('view-name'); Paginator::defaultSimpleView('view-name'); } ``` ## 分頁器實例方法 方法 | 描述 ------- | ----------- `$results->count()` | 獲取當前頁數據數量。 `$results->currentPage()` | 獲取當前頁頁碼。 `$results->firstItem()` | 獲取結果集中第一條數據的結果編號。 `$results->getOptions()` | 獲取分頁器選項。 `$results->getUrlRange($start, $end)` | 創建分頁 URL 范圍。 `$results->hasMorePages()` | 是否有多頁。 `$results->lastItem()` | 獲取結果集中最后一條數據的結果編號。 `$results->lastPage()` | 獲取最后一頁的頁碼(在 `simplePaginate` 中無效)。 `$results->nextPageUrl()` | 獲取下一頁的 URL 。 `$results->onFirstPage()` | 當前頁是否為第一頁。 `$results->perPage()` | 每頁的數據條數。 `$results->previousPageUrl()` | 獲取前一頁的 URL。 `$results->total()` | 數據總數(在 `simplePaginate` 無效)。 `$results->url($page)` | 獲取指定頁的 URL。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看