分頁機制
分頁機制
query操作預設支援分頁(paging), 一般呼叫形式為
Ordr.query(_pagekey?, _pagesz?=20) -> {nextkey?, total?, @h, @d}
引數:
- _pagesz: Integer. 頁大小,預設為20條資料。
- _pagekey: String (一般是數值). 首次查詢不用填寫(或填0),而下次查詢時應根據上次呼叫時返回資料的"nextkey"欄位來填寫。
返回:
- nextkey: String (一般是數值). 用來取下一頁資料時填寫_pagekey欄位,如果沒有該欄位,則說明已經是最後一頁資料。
- total: Integer. 總記錄數。僅當請求時指定 _pagekey=0 時返回。
- h/d: 實際資料表的頭資訊(header)和資料行(data),符合table物件的格式,參考上一章節tbl(id,name)介紹。
示例: 第一次查詢
Ordr.query()
返回
{nextkey: 10800910, h: [id, ...], d: [...]}
要在首次查詢時返回總記錄數,則用_pagekey=0
:
Ordr.query(_pagekey=0)
這時返回
{nextkey: 10800910, total: 51, h: [id, ...], d: [...]}
第二次查詢(下一頁)
Ordr.query(_pagekey=10800910)
直到返回資料中不帶"nextkey"屬性,表示所有資料獲取完畢。
[分頁大小]
query介面的_pagesz
引數可以指定每頁返回多少條資料,預設是20條。為了後端效能與安全,預設限制了_pagesz
不可超過100條。如果想要指定更大的頁大小,可以設定屬性$maxPageSz
:
class MyObj extends AccessControl
{
protected $maxPageSz = 1000; // 最大允許返回1000條
// protected $maxPageSz = -1; // 最大允許返回 PAGE_SZ_LIMIT 條
}
常量PAGE_SZ_LIMIT定義了最大可以設定的值,目前是10000.
相關文章
- mySql\oracle分頁機制MySqlOracle
- 分頁機制圖文詳解
- jdon 的分頁機制的效率低,
- 80386的分段機制、分頁機制和實體地址的形成
- 80386分頁機制與虛擬記憶體記憶體
- 頁面渲染機制
- View事件分發機制View事件
- 分錄科目生成機制
- 作業系統:x86下記憶體分頁機制 (1)作業系統記憶體
- [Mark]解決ElasticSearch深度分頁機制中Result window is too large問題Elasticsearch
- View事件分發機制分析View事件
- Android事件分發機制Android事件
- 80386學習(五) 80386分頁機制與虛擬記憶體記憶體
- 瀏覽器頁面渲染機制瀏覽器
- InnoDB髒頁重新整理機制
- 淺析前端頁面渲染機制前端
- 事件分發機制(一):解惑篇事件
- cocos EventDispatcher事件分發機制事件
- TouchEvent事件分發機制全解析事件
- Android事件分發機制探究Android事件
- 探索View的事件分發機制View事件
- Android事件分發機制解析Android事件
- View的事件分發機制分析View事件
- 【記憶體管理】頁面分配機制記憶體
- 零頁面機制在缺頁中斷中的作用
- 10分鐘理解 Android View 事件分發機制AndroidView事件
- android事件分發機制詳解Android事件
- Android的MotionEvent事件分發機制Android事件
- 事件分發機制(二):原始碼篇事件原始碼
- Android 事件分發機制的理解Android事件
- iOS事件分發機制與實踐iOS事件
- 完全理解android事件分發機制Android事件
- 圖解 Android 事件分發機制圖解Android事件
- solr修改評分機制實現排序Solr排序
- iOS事件分發機制(二)The Responder ChainiOS事件AI
- Android ViewGroup事件分發機制AndroidView事件
- 分頁如何變成強制路由模式樣式呢?路由模式
- Linux中的冷熱頁機制概述Linux