ThinkPHP CURD方法的page方法也是模型連貫操作方法之一,是完全為分頁查詢而誕生的一個(gè)人性化操作方法。
用法
我們在前面已經(jīng)分析了關(guān)于limit方法用于分頁查詢的情況,而page方法則是更人性化的進(jìn)行分頁查詢的方法,我們還是以文章列表分頁為例來說,如果使用limit方法,我們要查詢第一頁和第二頁(假設(shè)我們每頁輸出10條數(shù)據(jù))寫法如下:
1
2
3
|
$Article = M( 'Article' ); $Article ->limit( '0,10' )->select(); // 查詢第一頁數(shù)據(jù) $Article ->limit( '10,10' )->select(); // 查詢第二頁數(shù)據(jù) |
雖然利用擴(kuò)展類庫中的分頁類Page可以自動(dòng)計(jì)算出每個(gè)分頁的limit參數(shù),但是如果要自己寫就比較費(fèi)力了,如果用page方法來寫則簡單多了,例如:
1
2
3
|
$Article = M( 'Article' ); $Article ->page( '1,10' )->select(); // 查詢第一頁數(shù)據(jù) $Article ->page( '2,10' )->select(); // 查詢第二頁數(shù)據(jù) |
顯而易見的是,使用page方法你不需要計(jì)算每個(gè)分頁數(shù)據(jù)的起始位置,page方法內(nèi)部會(huì)自動(dòng)計(jì)算。
自3.1版本以后,page方法也支持2個(gè)參數(shù)的寫法,例如:
1
|
$Article ->page(1,10)->select(); |
和
1
|
$Article ->page( '1,10' )->select(); |
等效。
page方法還可以和limit方法配合使用,例如:
1
|
$Article ->limit(25)->page(3)->select(); |
當(dāng)page方法只有一個(gè)值傳入的時(shí)候,表示第幾頁,而limit方法則用于設(shè)置每頁顯示的數(shù)量,也就是說上面的寫法等同于:
1
|
$Article ->page( '3,25' )->select(); |