tp5.1如何使用獲取器添加自定義字段?
問(wèn)題描述
我有個(gè)表是個(gè)樹狀分類表,up_id對(duì)應(yīng)的是上級(jí)分類id,我就是想在表格里顯示時(shí),把up_id轉(zhuǎn)換為上級(jí)分類的name,該怎么辦呢?我覺(jué)得可以使用模型的獲取器實(shí)現(xiàn),但是不知道怎么用
表格數(shù)據(jù)的控制器方法是這樣的
//返回分類列表數(shù)據(jù)if(Request::isAjax()) { $list = ModelTree::order(['up_id','sort','id'])->paginate($this->request->get('limit', 20)); $data = ['code' => 0,'msg' => '正在請(qǐng)求中...','count' =>$list->count(),'data' => $list->items() ]; return Json::create($data);}
問(wèn)題解答
回答1:問(wèn)題解決了,哈哈
模型獲取器寫法
//上級(jí)分類名稱獲取器public function getUpNameAttr($value,$data){ $list = Tree::field(['name'])->where('id','=',$data['up_id'])->find(); if($list) {return $list['name']; }else{return '頂級(jí)分類'; }}
控制器寫法
//返回分類列表數(shù)據(jù)if(Request::isAjax()) { $list = ModelTree::order(['up_id','sort','id'])->paginate($this->request->get('limit', 20)); foreach ($list as $item) {$item->append(['up_name']);$item['up_name'] = $item->up_name; } $data = ['code' => 0,'msg' => '正在請(qǐng)求中...','count' =>$list->count(),'data' => $list->items() ]; return Json::create($data);}
顯示結(jié)果
相關(guān)文章:
1. 為什么我ping不通我的docker容器呢???2. 關(guān)于docker下的nginx壓力測(cè)試3. debian - docker依賴的aufs-tools源碼哪里可以找到啊?4. angular.js - angular內(nèi)容過(guò)長(zhǎng)展開(kāi)收起效果5. javascript - webpack熱加載配置不生效6. docker start -a dockername 老是卡住,什么情況?7. javascript - js代碼獲取驗(yàn)證碼倒計(jì)時(shí)問(wèn)題8. dockerfile - [docker build image失敗- npm install]9. 主從備份 - 跪求mysql 高可用主從方案10. java - instance method中 static后的<K>是什么意思?
