THINKPHP5分頁資料物件處理過程解析
阿新 • • 發佈:2020-10-28
在用到THINKPHP5的分頁的時候,我們可以發現獲取的資料是物件,如果我們要對資料進行迴圈增加資料就實現不了
今天用此方法解決,以做記錄方便以後忘了檢視
// 查詢狀態為1的使用者資料 並且每頁顯示30條資料 $list = db('commission_log')->order('id desc')->paginate(30); // 獲取分頁顯示 $page = $list->render(); $list = $list->all(); //這是關鍵 // 模板變數賦值 foreach ($list as $k => $v) { //通過使用者ID查詢代理名 $list[$k]['username'] = db('userinfo')->where(array('uid'=>$v['uid']))->value('username'); } $this->assign('list',$list); $this->assign('page',$page); // 渲染模板輸出 return $this->fetch();
分頁後資料處理 (V5.0.9)
V5.0.9版本開始 支援分頁類後資料直接each遍歷處理,方便修改分頁後的資料,而不是隻能通過模型的獲取器來補充欄位。
$list = User::where('status',1)->paginate()->each(function($item,$key){ $item->nickname = 'think'; });
如果是Db類操作分頁資料的話,each方法的閉包函式中需要使用返回值,例如:
$list = Db::name('user')->where('status',$key){ $item['nickname'] = 'think'; return $item; });
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。