<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>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                ## 分頁實現 `ThinkORM`內置了分頁實現,要給數據添加分頁輸出功能變得非常簡單,可以直接在`Db`類查詢的時候調用`paginate`方法: ~~~ // 查詢狀態為1的用戶數據 并且每頁顯示10條數據 $list?=?Db::name('user') ->where('status',1) ->order('id', 'desc') ->paginate(10); // 渲染模板輸出 return?view('index', ['list' => $list]); ~~~ 模板文件中分頁輸出代碼如下: ~~~html <div> <ul> {volist name='list' id='user'} <li> {$user.nickname}</li> {/volist} </ul> </div> {$list|raw} ~~~ 也可以單獨賦值分頁輸出的模板變量 ~~~ // 查詢狀態為1的用戶數據 并且每頁顯示10條數據 $list?=?Db::name('user')->where('status',1)->order('id', 'desc')->paginate(10); // 獲取分頁顯示 $page?=?$list->render(); return?view('index', ['list' => $list, 'page' => $page]); ~~~ 模板文件中分頁輸出代碼如下: ~~~html <div> <ul> {volist name='list' id='user'} <li> {$user.nickname}</li> {/volist} </ul> </div> {$page|raw} ~~~ 默認情況下,生成的分頁輸出是完整分頁功能,帶總分頁數據和上下頁碼,分頁樣式只需要通過樣式修改即可,完整分頁默認生成的分頁輸出代碼為: ~~~ <ul class="pagination"> <li><a href="?page=1">&laquo;</a></li> <li><a href="?page=1">1</a></li> <li class="active"><span>2</span></li> <li class="disabled"><span>&raquo;</span></li> </ul> ~~~ 如果你需要單獨獲取總的數據,可以使用 ~~~ // 查詢狀態為1的用戶數據 并且每頁顯示10條數據 $list?=?Db::name('user')->where('status',1)->order('id' ,'desc')->paginate(10); // 獲取總記錄數 $count = $list->total(); return?view('index', ['list' => $list, 'count' => $count]); ~~~ ### 傳入總記錄數 支持傳入總記錄數而不會自動進行總數計算,例如: ~~~ // 查詢狀態為1的用戶數據 并且每頁顯示10條數據 總記錄數為1000 $list?=?Db::name('user')->where('status',1)->paginate(10,1000); // 獲取分頁顯示 $page?=?$list->render(); return?view('index', ['list' => $list, 'page' => $page]); ~~~ >[danger] 對于`UNION`查詢以及一些特殊的復雜查詢,推薦使用這種方式首先單獨查詢總記錄數,然后再傳入分頁方法 ### 分頁后數據處理 支持分頁類后數據直接`each`遍歷處理,方便修改分頁后的數據,而不是只能通過模型的獲取器來補充字段。 ~~~ $list?=?Db::name('user') ->where('status',1) ->order('id', 'desc') ->paginate() ->each(function($item, $key){ $item['nickname'] = 'think'; return $item; }); ~~~ 如果是模型類操作分頁數據的話,`each`方法的閉包函數中不需要使用返回值,例如: ~~~ $list?=?User::where('status',1) ->order('id', 'desc') ->paginate() ->each(function($item, $key){ $item->nickname = 'think'; }); ~~~ ## 簡潔分頁 如果你僅僅需要輸出一個 僅僅只有上下頁的分頁輸出,可以使用下面的簡潔分頁代碼: ~~~ // 查詢狀態為1的用戶數據 并且每頁顯示10條數據 $list?=?Db::name('user')->where('status',1)->order('id', 'desc')->paginate(10, true); // 渲染模板輸出 return?view('index', ['list' => $list]); ~~~ 簡潔分頁模式的輸出代碼為: ~~~ <ul class="pager"> <li><a href="?page=1">&laquo;</a></li> <li class="disabled"><span>&raquo;</span></li> </ul> ~~~ > 由于簡潔分頁模式不需要查詢總數據數,因此可以提高查詢性能。 ## 分頁參數 主要的分頁參數如下: |參數|描述| |---|---| |list_rows|每頁數量| |page|當前頁| | path|url路徑| | query|url額外參數| |fragment|url錨點| |var_page|分頁變量| 分頁參數的設置可以在調用分頁方法的時候傳入,例如: ~~~ $list?=?Db::name('user')->where('status',1)->paginate([ 'list_rows'=> 20, 'var_page' => 'page', ]); ~~~ >[danger] 如果需要在分頁的時候傳入查詢條件,可以使用`query`參數拼接額外的查詢參數 ## 大數據分頁 對于大量數據的分頁查詢,系統提供了一個高性能的`paginateX`分頁查詢方法,用法和`paginate`分頁查詢存在一定區別。如果你要分頁查詢的數據量在百萬級以上,使用`paginateX`方法會有明顯的提升,尤其是在分頁數較大的情況下。并且由于針對大數據量而設計,該分頁查詢只能采用簡潔分頁模式,所以沒有總數。 >[danger] 分頁查詢的排序字段一定要使用索引字段,并且是連續的整型,否則會有數據遺漏。 主要場景是針對主鍵進行分頁查詢,默認使用主鍵倒序查詢分頁數據。 ~~~ $list?=?Db::name('user')->where('status',1)->paginateX(20); ~~~ 也可以在查詢的時候可以指定主鍵和排序 ~~~ $list?=?Db::name('user')->where('status',1)->paginateX(20, 'id', 'desc'); ~~~ 查詢方法會執行兩次查詢,第一次查詢用于查找滿足當前查詢條件的最大或者最小值,然后配合主鍵查詢條件來進行分頁數據查詢。 ## 查詢更多數據 `more`方法用于查詢更多的數據,比如手機下翻顯示更多數據的場景。該方法需要傳入`LastId`,支持指定排序鍵(默認為主鍵),下面的查詢表示從主鍵100開始查詢下20條用戶數據 ~~~ $result?=?Db::name('user')->more(20, 100); $data = $result['data']; $lastId = $result['lastId']; ~~~ 默認以主鍵倒序查詢,支持指定排序字段和排序。 ~~~ $list?=?Db::name('user')->more(20, 10, 'create_time', 'desc'); ~~~ ## 自定義分頁類 在ThinkPHP`6.0+`,如果你需要自定義分頁,可以擴展一個分頁驅動。 然后在`provider.php`定義文件中重新綁定 ``` return [ 'think\Paginator' => 'app\common\Bootstrap' ]; ```
                  <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>

                              哎呀哎呀视频在线观看