tp5.1如何使用獲取器添加自定義字段?
問題描述
我有個(gè)表是個(gè)樹狀分類表,up_id對(duì)應(yīng)的是上級(jí)分類id,我就是想在表格里顯示時(shí),把up_id轉(zhuǎn)換為上級(jí)分類的name,該怎么辦呢?我覺得可以使用模型的獲取器實(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);}
問題解答
回答1:問題解決了,哈哈
模型獲取器寫法
//上級(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. angular.js - angularjs的自定義過濾器如何給文字加顏色?2. angular.js使用$resource服務(wù)把數(shù)據(jù)存入mongodb的問題。3. docker-machine添加一個(gè)已有的docker主機(jī)問題4. 關(guān)于docker下的nginx壓力測(cè)試5. 為什么我ping不通我的docker容器呢???6. docker安裝后出現(xiàn)Cannot connect to the Docker daemon.7. nignx - docker內(nèi)nginx 80端口被占用8. docker - 如何修改運(yùn)行中容器的配置9. Docker for Mac 創(chuàng)建的dnsmasq容器連不上/不工作的問題10. docker鏡像push報(bào)錯(cuò)
