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 = count($rep); }else{ $rep = FooterCategory::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 = FooterCategory::count(); } $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{ $name = FooterCategory::where('name',$data['name'])->first(); if(!empty($name)){ return Result::error("该底部导航名称已存在!"); }else{ $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 (!$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(); $result = [ 'rows'=>$footer_category, 'web'=>$web ]; }else{ $all_categories = FooterCategory::all()->pluck('name')->toArray(); // 检查修改后的数据是否与已有数据重复 if (in_array($data['name'], $all_categories)) { 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 { $footer_category = FooterCategory::where('id', $data['id'])->first(); if (!$footer_category) { return Result::error("该底部导航不存在!"); }else{ $result = FooterCategory::where('footer_category.id',$data['id']) ->leftJoin("footer_content","footer_content.fcat_id","footer_category.id") ->delete(); } if(empty($result)){ return Result::error("删除失败!"); }else{ return Result::success($result); } } /** * 添加底部导航(列表)内容 * @param array $data * @return array */ public function addFooterContent(array $data): array { // 底部导航类型 0:内容型;1:列表型; // var_dump($data); if($data['type'] == 0){ $countent = FooterContent::where('fcat_id', $data['fcat_id'])->first(); if(!empty($countent)){ return Result::error("该底部导航内容已存在!"); } }else{ $countent = FooterContent::where('list_title', $data['list_title'])->first(); if(!empty($countent)){ 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) ->limit($data['pageSize'])->offset(($data['page']-1)*$data['pageSize']) ->orderBy("updated_at","desc")->get(); $count = count($rep); 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 { if($data['type'] == 1){ $list_title = FooterContent::all()->pluck('list_title')->toArray(); // 检查修改后的数据是否与已有数据重复 if (in_array($data['list_title'], $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); } } }