TP5分頁的使用方法扇苞,在手冊(cè)中有詳細(xì)的說明
控制器中關(guān)鍵代碼如下:
// 查詢狀態(tài)為1的用戶數(shù)據(jù) 并且每頁顯示10條數(shù)據(jù)$list = Db::name('user')->where('status',1)->paginate(10);// 把分頁數(shù)據(jù)賦值給模板變量list$this->assign('list', $list);// 渲染模板輸出return$this->fetch();
模板文件中分頁輸出代碼如下:
{volist name='list' id='user'}
{$user.nickname}
{/volist}
{$list->render()}
上面的方法非常簡單,但是如果我想在查詢出來的數(shù)據(jù)中加入新的值的寄纵,上面的方法就不能用了鳖敷,當(dāng)你嘗試對(duì)$list進(jìn)行循環(huán)的時(shí)候,會(huì)報(bào)如下的錯(cuò)誤
Indirect modification of overloaded element of think\paginator\Collection has no effect
這是因?yàn)?list不是一個(gè)數(shù)組程拭,而是數(shù)據(jù)集對(duì)象think\Collection手冊(cè)地址
select()返回的是二維數(shù)組結(jié)果集定踱,paginate()返回的是對(duì)象類型的結(jié)果集
下面是我的處理方法
// 查詢狀態(tài)為1的用戶數(shù)據(jù) 并且每頁顯示10條數(shù)據(jù)$list = Db::name('user')->where('status',1)->paginate(10);// 獲取分頁顯示$page = $list->render();$data = $list->all();foreach($dataas$key=>$val){? ? $data[$key]['key'] = $key;}$this->assign('data', $data);$this->assign('page', $page);// 渲染模板輸出return$this->fetch();
模板文件中分頁輸出代碼如下:
{volist name='data' id='user'}
{$user.nickname}
{/volist}
{$page}