1. 程式人生 > 程式設計 >THINKPHP5分頁資料物件處理過程解析

THINKPHP5分頁資料物件處理過程解析

在用到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;
});

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。