model = new GoodsCateModel(); } /** * 数据列表 */ public function datalist() { if (request()->isAjax()) { $list = $this->model->where('delete_time',0)->order('sort asc')->select(); return to_assign(0, '', $list); } else{ return view(); } } //获取子分类id.$is_self=1包含自己 public function get_cate_son($id = 0, $is_self = 1) { $cates = $this->model->where('delete_time',0)->order('sort asc')->select()->toArray(); $cates_list = get_data_node($cates, $id); $cates_array = array_column($cates_list, 'id'); if ($is_self == 1) { //包括自己在内 $cates_array[] = $id; } return $cates_array; } /** * 添加 */ public function add() { if (request()->isAjax()) { $param = get_params(); // 检验完整性 try { validate(GoodsCateValidate::class)->check($param); } catch (ValidateException $e) { // 验证失败 输出错误信息 return to_assign(1, $e->getError()); } $this->model->addGoodsCate($param); }else{ $pid = isset($param['pid']) ? $param['pid'] : 0; View::assign('pid', $pid); return view(); } } /** * 编辑 */ public function edit() { $param = get_params(); if (request()->isAjax()) { // 检验完整性 try { validate(GoodsCateValidate::class)->check($param); } catch (ValidateException $e) { // 验证失败 输出错误信息 return to_assign(1, $e->getError()); } $cate_array = $this->get_cate_son($param['id']); if (in_array($param['pid'], $cate_array)) { return to_assign(1, '上级分类不能是该分类本身或其子分类'); } $this->model->editGoodsCate($param); }else{ $id = isset($param['id']) ? $param['id'] : 0; $detail = $this->model->getGoodsCateById($id); if (!empty($detail)) { View::assign('detail', $detail); return view(); } else{ throw new \think\exception\HttpException(404, '找不到页面'); } } } /** * 查看信息 */ public function read() { $param = get_params(); $id = isset($param['id']) ? $param['id'] : 0; $detail = $this->model->getGoodsCateById($id); if (!empty($detail)) { View::assign('detail', $detail); return view(); } else{ throw new \think\exception\HttpException(404, '找不到页面'); } } /** * 删除 */ public function del() { $param = get_params(); $id = isset($param['id']) ? $param['id'] : 0; $type = isset($param['type']) ? $param['type'] : 0; $this->model->delGoodsCateById($id,$type); } }