THINKPHP5分頁數(shù)據(jù)對象處理過程解析
在用到THINKPHP5的分頁的時候,我們可以發(fā)現(xiàn)獲取的數(shù)據(jù)是對象,如果我們要對數(shù)據(jù)進行循環(huán)增加數(shù)據(jù)就實現(xiàn)不了
今天用此方法解決,以做記錄方便以后忘了查看
// 查詢狀態(tài)為1的用戶數(shù)據(jù) 并且每頁顯示30條數(shù)據(jù) $list = db('commission_log')->order('id desc')->paginate(30); // 獲取分頁顯示 $page = $list->render(); $list = $list->all(); //這是關(guān)鍵 // 模板變量賦值 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();
分頁后數(shù)據(jù)處理 (V5.0.9)
V5.0.9版本開始 支持分頁類后數(shù)據(jù)直接each遍歷處理,方便修改分頁后的數(shù)據(jù),而不是只能通過模型的獲取器來補充字段。
$list = User::where('status',1)->paginate()->each(function($item, $key){ $item->nickname = 'think'; });
如果是Db類操作分頁數(shù)據(jù)的話,each方法的閉包函數(shù)中需要使用返回值,例如:
$list = Db::name('user')->where('status',1)->paginate()->each(function($item, $key){ $item['nickname'] = 'think'; return $item; });
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Zend Framework入門教程之Zend_Db數(shù)據(jù)庫操作詳解
這篇文章主要介紹了Zend Framework入門教程之Zend_Db數(shù)據(jù)庫操作,結(jié)合實例形式詳細分析了Zend_Db_Adapter的功能及數(shù)據(jù)庫操作的相關(guān)技巧,需要的朋友可以參考下2016-12-12