1. 程式人生 > >TP5分頁使用方法說明

TP5分頁使用方法說明

TP5分頁使用方法說明
TP5分頁的使用方法,在手冊中有詳細的說明

控制器中關鍵程式碼如下:

// 查詢狀態為1的使用者資料 並且每頁顯示10條資料 l i s t = D b

: : n a m e ( u s
e r ) > w h e r
e ( s t a t u s , 1 ) > p a g i n a t e ( 10 ) ; / / l i s t list = Db::name('user')->where('status',1)->paginate(10);// 把分頁資料賦值給模板變數list this->assign(‘list’, l i s t ) ; / / r e t u r n list);// 渲染模板輸出return this->fetch();

模板檔案中分頁輸出程式碼如下:

{volist name=‘list’ id=‘user’}

{$user.nickname}

{/volist}

{$list->render()}

上面的方法非常簡單,但是如果我想在查詢出來的資料中加入新的值的,上面的方法就不能用了,當你嘗試對$list進行迴圈的時候,會報如下的錯誤

Indirect modification of overloaded element of think\paginator\Collection has no effect

這是因為$list不是一個數組,而是資料集物件think\Collection手冊地址

select()返回的是二維陣列結果集,paginate()返回的是物件型別的結果集

下面是我的處理方法

// 查詢狀態為1的使用者資料 並且每頁顯示10條資料 l i s t = D b : : n a m e ( u s e r ) > w h e r e ( s t a t u s , 1 ) > p a g i n a t e ( 10 ) ; / / list = Db::name('user')->where('status',1)->paginate(10);// 獲取分頁顯示 page = l i s t > r e n d e r ( ) ; list->render(); data = l i s t > a l l ( ) ; f o r e a c h ( list->all();foreach( dataas k e y = > key=> val){ d a t a [ data[ key][‘key’] = KaTeX parse error: Expected 'EOF', got '}' at position 5: key;}̲this->assign(‘data’, d a t a ) ; data); this->assign(‘page’, p a g e ) ; / / r e t u r n page);// 渲染模板輸出return this->fetch();

模板檔案中分頁輸出程式碼如下:

{volist name=‘data’ id=‘user’}

{$user.nickname}

{/volist}

{$page}