以下是手冊(cè)上灰署,TP5分頁的使用方法杠茬,
控制器中關(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()}
上面的方法非常簡(jiǎn)單苏研,但是如果我想在查詢出來的數(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é)果集
下面是我的處理方法
//查詢數(shù)據(jù)
$list = $plan->paginate(10);
// 獲取分頁顯示
$page = $list->render();
$data = $list->all();
foreach ($data as $key => $val) {
// 測(cè)試改變數(shù)據(jù)結(jié)構(gòu)
$data[$key]['key'] = 123;
}
$this->assign('data', $data);
$this->assign('page', $page);
// 渲染模板輸出
return $this->fetch();
模板文件中分頁輸出代碼如下:
{volist name='data' id='user'}
{$user.nickname}
{/volist}
{$page}