menurequestModel = new menuRequestModel; } /** * @title: 获取菜单请求列表 * @param {int} {menu_id} {必填} {菜单id} * @return array * @Author: wangkewei * @Date: 2021/5/18 9:31 */ public function getList() { $data = $this->request->param(); $menu_id = isset($data['menu_id'])?$data['menu_id']:0; $list = $this->menurequestModel->where("menu_id",$menu_id)->field(['menu_request_id','menu_id','name','path','mode','operate','status'])->with(['menu'])->select(); return res(1,"获取成功",$list); } /** * @title: 编辑菜单请求 * @param array * @return array * @Author: wangkewei * @Date: 2021/5/18 9:31 */ public function doEdit() { $data = $this->request->param(); $this->menurequestModel->replace()->save($data); slog(1,"编辑了菜单请求"); return res(1,"保存成功"); } /** * @title: 删除菜单请求 * @param {int} {i} {必填} {请求id} * @return array * @Author: wangkewei * @Date: 2021/5/18 9:31 */ public function doDelete(int $id) { $where = []; $where[] = ['menu_request_id','=',$id]; try{ menuRequestModel::startTrans(); // 删除企业类型相关的请求 $orgTypeList = OrgType::where('request_ids','FIND IN SET',$id)->select()->toArray(); $orgTypeSaveData = []; foreach($orgTypeList as $orgTypeItem){ $orgTypeItem['request_ids'] = array_diff($orgTypeItem['request_ids'],[$id]); $orgTypeSaveData[] = $orgTypeItem; } // 删除企业相关的请求 $orgList = Org::where('request_ids','FIND IN SET',$id)->select()->toArray(); $orgSaveData = []; foreach($orgList as $orgItem){ $orgItem['request_ids'] = array_diff($orgItem['request_ids'],[$id]); $orgSaveData[] = $orgItem; } // 删除企业角色相关的请求 $orgRoleList = OrgRole::where('request_ids','FIND IN SET',$id)->select()->toArray(); $orgRoleSaveData = []; foreach($orgRoleList as $orgRoleItem){ $orgRoleItem['request_ids'] = array_diff($orgRoleItem['request_ids'],[$id]); $orgRoleSaveData[] = $orgRoleItem; } // 保存修改 (new OrgType)->replace()->saveAll($orgTypeSaveData); (new Org)->replace()->saveAll($orgSaveData); (new OrgRole)->replace()->saveAll($orgRoleSaveData); // 删除请求 menuRequestModel::destroy(function($query)use($where){ $query->where($where); }); menuRequestModel::commit(); slog(1,"删除了菜单请求"); return res(1,"删除成功",$id); }catch(\Exception $e){ menuRequestModel::rollback(); return res(2,"删除失败",$e->getMessage(),$e->getTrace()); } } }