天天看點

TP5 分頁 如果查詢傳遞過的page分頁數和limit行數

官方文檔:https://www.kancloud.cn/manual/thinkphp5/118080

page方法也是模型的連貫操作方法之一,是完全為分頁查詢而誕生的一個人性化操作方法。

我們在前面已經了解了關于limit方法用于分頁查詢的情況,而page方法則是更人性化的進行分頁查詢的方法,例如還是以文章清單分頁為例來說,如果使用limit方法,我們要查詢第一頁和第二頁(假設我們每頁輸出10條資料)寫法如下:

// 查詢第一頁資料
Db::table('think_article')->limit('0,10')->select(); 
// 查詢第二頁資料
Db::table('think_article')->limit('10,10')->select();       

雖然利用擴充類庫中的分頁類Page可以自動計算出每個分頁的limit參數,但是如果要自己寫就比較費力了,如果用page方法來寫則簡單多了,例如:

// 查詢第一頁資料
Db::table('think_article')->page('1,10')->select(); 
// 查詢第二頁資料
Db::table('think_article')->page('2,10')->select();       

顯而易見的是,使用page方法你不需要計算每個分頁資料的起始位置,page方法内部會自動計算。

和limit方法一樣,page方法也支援2個參數的寫法,例如:

Db::table('think_article')->page(1,10)->select();
// 和下面的用法等效
Db::table('think_article')->page('1,10')->select();      

page方法還可以和limit方法配合使用,例如:

Db::table('think_article')->limit(25)->page(3)->select();      
Db::table('think_article')->page('3,25')->select();