## 練習
考慮實現分頁查找的功能
~~~
http://localhost:8000/index.php?s=/book/getBookList/page/1/pageSize/5
~~~
返回數據格式:
~~~
{
"errno": 0,
"errmsg": "",
"data": {
"count": 2,
"totalPages": 1,
"pageSize": 10,
"currentPage": 1,
"data": [
{
"id": "1",
"title": "ThinkPHP 5框架原理與實戰 ",
"author": "黑馬程序員",
"publisher": "中國鐵道出版社",
"pub_year": "2019",
"isbn": "9787113259716",
"price": "55.00"
},
{
"id": "2",
"title": "ThinkPHP 5實戰 ",
"author": "夏磊",
"publisher": "清華大學出版社",
"pub_year": "2019",
"isbn": "9787302533580",
"price": "49.00"
}
]
}
}
~~~
參考解答:
~~~
public function getBookList($page = 1, $pageSize = 10)
{
// 獲取數據集
$books = Db::name('book')->order('id', 'desc')->paginate(['page' => $page, 'list_rows' => $pageSize]);
$books = $books->toArray();
//轉換分頁器滿足約定的接口規范
$data = array(
'count' => $books['total'],
'currentPage' => $books['current_page'],
"pageSize" => $books['per_page'],
"totalPages" => $books['last_page'],
"data"=>$books['data']
);
$response = [
'errno' => 0,
'errmsg' => '',
'data' => $data
];
return json($response);
}
~~~