tp5.1如何使用獲取器添加自定義字段?
問題描述
我有個(gè)表是個(gè)樹狀分類表,up_id對應(yīng)的是上級分類id,我就是想在表格里顯示時(shí),把up_id轉(zhuǎn)換為上級分類的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' => '正在請求中...','count' =>$list->count(),'data' => $list->items() ]; return Json::create($data);}
問題解答
回答1:問題解決了,哈哈
模型獲取器寫法
//上級分類名稱獲取器public function getUpNameAttr($value,$data){ $list = Tree::field(['name'])->where('id','=',$data['up_id'])->find(); if($list) {return $list['name']; }else{return '頂級分類'; }}
控制器寫法
//返回分類列表數(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' => '正在請求中...','count' =>$list->count(),'data' => $list->items() ]; return Json::create($data);}
顯示結(jié)果

相關(guān)文章:
1. node.js - mongodb查找子對象的名稱為某個(gè)值的對象的方法2. 關(guān)docker hub上有些鏡像的tag被標(biāo)記““This image has vulnerabilities””3. html5 - datatables 加載不出來數(shù)據(jù)。4. Docker for Mac 創(chuàng)建的dnsmasq容器連不上/不工作的問題5. docker鏡像push報(bào)錯(cuò)6. phpstudy8.1沒集成mysql-front7. javascript - 在 model里定義的 引用表模型時(shí),model為undefined。8. javascript - QQ第三方登錄的問題9. 測試自動化html元素選擇器元素ID或DataAttribute [關(guān)閉]10. 利用IPMI遠(yuǎn)程安裝centos報(bào)錯(cuò)!

網(wǎng)公網(wǎng)安備