where($where); }); $rep = $query->leftJoin("website","website.id","footer_category.website_id") ->select("footer_category.*","website.website_name","website.id as website_id") ->limit($data['pageSize'])->offset(($data['page']-1)*$data['pageSize'])->orderBy("updated_at","desc") ->get(); $count = $query->count(); // var_dump($where); $result = []; $result = [ 'rows'=>$rep, 'count'=>$count ]; if($count == 0){ return Result::error("没有查到相关数据!"); } return Result::success($result); } /** * 添加底部导航 * @param array $data * @return array */ public function addFooterCategory(array $data): array { if(empty($data)){ $result = Website::select('website_name','id')->get(); }else{ // 底部导航类型 0:内容型;1:列表型; $webid = Website::select('website_name','id')->where('id',$data['website_id'])->first(); if(empty($webid)){ return Result::error("该网站不存在!"); } // 同一网站下的底部导航名称不能重复 $name = FooterCategory::where('website_id',$data['website_id'])->where('name',$data['name'])->first(); if(!empty($name)){ return Result::error("该底部导航名称已存在!"); } $result = FooterCategory::insertGetId($data); } if(empty($result)){ return Result::error("添加失败!"); }else{ return Result::success($result); } } /** * 修改底部导航 * @param array $data * @return array */ public function upFooterCategory(array $data): array { $footer_category = FooterCategory::where('id', $data['id'])->first(); if(empty($footer_category)) { return Result::error("该底部导航不存在!"); } if(empty($data['website_id'])){ $web = Website::select('website_name','id')->get(); $footer_category = FooterCategory::where('footer_category.id',$data['id']) ->leftJoin("website","website.id","footer_category.website_id") ->select("footer_category.*","website.website_name","website.id as website_id") ->first(); if(isset($data['name'])){ $footer_category['name'] = $data['name']; } $result = [ 'rows'=>$footer_category, 'web'=>$web ]; }else{ $all_categories = FooterCategory::where('website_id',$data['website_id'])->pluck('name')->toArray(); // 检查修改后的数据是否与已有数据重复 if (in_array($data['name'], $all_categories)) { return Result::error("修改后的底部导航名称已存在!"); } $webid = Website::where('id',$data['website_id'])->first(); if(empty($webid)){ return Result::error("该网站不存在!"); } $result = FooterCategory::where('id', $data['id'])->update($data); } if (empty($result)) { return Result::error("修改失败!"); }else{ return Result::success($result); } } /** * 删除底部导航 * @param array $data * @return array */ public function delFooterCategory(array $data): array { Db::beginTransaction(); try{ $footer_category = FooterCategory::where('id', $data['id'])->first(); if (!$footer_category) { return Result::error("该底部导航不存在!"); }else{ $result['footer_category'] = FooterCategory::where('id', $data['id'])->delete(); $result['footer_content'] = FooterContent::where('fcat_id', $data['id'])->delete(); // $result = FooterCategory::where('footer_category.id',$data['id']) // ->leftJoin("footer_content","footer_content.fcat_id","footer_category.id") // ->delete(); } Db::commit(); } catch(\Throwable $ex){ Db::rollBack(); var_dump($ex->getMessage()); return Result::error("删除失败",0); } return Result::success($result); } /** * 添加底部导航(列表)内容 * @param array $data * @return array */ public function addFooterContent(array $data): array { // 底部导航类型 0:内容型;1:列表型; // var_dump($data); $cat = FooterCategory::where('id', $data['fcat_id'])->first(); if (!$cat) { return Result::error("该底部导航不存在!"); } if($cat['type'] != $data['type']){ return Result::error("请输入正确的底部导航类型!"); } if($cat['type'] == 0){ $content = FooterContent::where('fcat_id', $data['fcat_id'])->first(); if(!empty($content)){ return Result::error("该底部导航已添加内容!"); } }else{ // return Result::success($data); if(!isset($data['list_title']) || empty($data['list_title'])){ return Result::error("请输入底部导航列表标题!"); } $content = FooterContent::where('fcat_id', $data['fcat_id'])->where('list_title',$data['list_title'])->first(); if(!empty($content)){ return Result::error("该列表标题已存在!"); } } unset($data['type']); $result = FooterContent::insertGetId($data); if(empty($result)){ return Result::error("添加失败!"); }else{ return Result::success($result); } } /** * 获取底部导航(列表)内容 * @param array $data * @return array */ public function getFooterContent(array $data): array { $where = []; array_push($where, ['fcat_id',$data['fcat_id']]); $type = FooterCategory::where('id', $data['fcat_id'])->value('type'); if($type == 1){ if(isset($data['list_title'])){ array_push($where, ['list_title','like','%'.$data['list_title'].'%']); } if(isset($data['con_title'])){ array_push($where, ['con_title','like','%'.$data['con_title'].'%']); } } $rep = FooterContent::where($where) ->leftJoin('footer_category','footer_category.id','fcat_id') ->select('footer_content.*','footer_category.type') ->limit($data['pageSize']) ->offset(($data['page']-1)*$data['pageSize']) ->orderBy("updated_at","desc") ->get(); $count = FooterContent::where($where)->count(); if($count == 0){ return Result::error("没有查到相关数据!"); }else{ $result = [ 'rows'=>$rep, 'count'=>$count ]; return Result::success($result); } } /** * 获取某个底部导航(列表)内容 * @param array $data * @return array */ public function getOneFooterContent(array $data): array { $result = FooterContent::where('footer_content.id', $data['id']) ->leftJoin('footer_category','footer_category.id','fcat_id') ->select('footer_content.*','footer_category.type') ->first(); if(empty($result)){ return Result::error("请输入正确的底部导航内容id!"); }else{ return Result::success($result); } } /** * 编辑底部导航(列表)内容 * @param array $data * @return array */ public function upFooterContent(array $data): array { $content = FooterContent::where('footer_content.id', $data['id']) ->leftJoin('footer_category','footer_category.id','fcat_id') ->select('footer_content.*','footer_category.type','footer_category.id as fcat_id') ->first(); if(!$content){ return Result::error("该底部导航内容不存在!"); } if($content['type'] != $data['type']){ return Result::error("请输入正确的底部导航类型!"); } if($content['type'] == 1){ if(!isset($data['list_title']) || empty($data['list_title'])){ return Result::error("请输入底部导航列表标题!"); } $list_title = FooterContent::where('fcat_id', $data['fcat_id'])->where('list_title',$data['list_title'])->first(); if(!empty($list_title)){ return Result::error("该列表标题已存在!"); } } unset($data['type']); $result = FooterContent::where('id', $data['id'])->update($data); if(empty($result)){ return Result::error("修改失败!"); }else{ return Result::success($result); } } /** * 删除底部导航(列表)内容 * @param array $data * @return array */ public function delFooterContent(array $data): array { $result = FooterContent::where('id', $data['id'])->delete($data); if(empty($result)){ return Result::error("删除失败!"); }else{ return Result::success($result); } } }