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. python - oslo_config2. 關(guān)于mysql聯(lián)合查詢一對(duì)多的顯示結(jié)果問題3. 實(shí)現(xiàn)bing搜索工具urlAPI提交4. MySQL主鍵沖突時(shí)的更新操作和替換操作在功能上有什么差別(如圖)5. 數(shù)據(jù)庫(kù) - Mysql的存儲(chǔ)過程真的是個(gè)坑!求助下面的存儲(chǔ)過程哪里錯(cuò)啦,實(shí)在是找不到哪里的問題了。6. windows誤人子弟啊7. 冒昧問一下,我這php代碼哪里出錯(cuò)了???8. 如何用筆記本上的apache做微信開發(fā)的服務(wù)器9. 我在網(wǎng)址中輸入localhost/abc.php顯示的是not found是為什么呢?10. mysql優(yōu)化 - MySQL如何為配置表建立索引?
