params; if(isset($params['type']) && $params['type']<>''){ $where[] = ['type','=',$params['type']]; } if(isset($params['cid']) && $params['cid']<>''){ $where[] = ['cid','=',$params['cid']]; } return $where; } /** * @notes 宣传信息列表 * @return array * @throws \think\db\exception\DataNotFoundException * @throws \think\db\exception\DbException * @throws \think\db\exception\ModelNotFoundException * @author Tab * @date 2021/7/14 9:48 */ public function lists(): array { $lists = Info::field('id,type,cid,title,synopsis,image,address,phone,latitude,longitude,sort,is_show,create_time') ->where(['is_show'=>1]) ->where($this->setSearchWhere()) ->append(['category','type_desc','is_show_desc']) ->order([ 'sort' => 'desc', 'id' => 'desc' ]) ->limit($this->limitOffset, $this->limitLength) ->select() ->toArray(); $length = count($lists); if($length>0){ $cate_id = array_unique(array_column($lists,'cid')); $zeros=[0]; $cate_is_Arr = array_diff($cate_id,$zeros); $newlist = []; if(!empty($cate_is_Arr)){ foreach ($cate_is_Arr as $v){ foreach($lists as $lv){ if($v==$lv['cid']){ $newlist[$v][]=$lv; } } } $datas=[]; $i = 0; foreach($newlist as $k=>$nv){ $category_info = InfoCategory::find($k); $datas[$i]['categoryId'] = $k; $datas[$i]['categoryName'] = $category_info['name']; $datas[$i]['list'] = $nv; $i++; } $lists = $datas; } } $data['info_list'] = $lists; $params = $this->params; $banner_where=[]; if(isset($params['type']) && $params['type']<>''){ $banner_where[] = ['type','=',$params['type']]; } $banner_list = Banner::where($banner_where)->order('sort desc')->select()->toArray(); $data['banner_list'] = $banner_list; return $data; } /** * @notes 文章/帮助总记录数 * @return int * @author Tab * @date 2021/7/14 9:48 */ public function count(): int { return Info::where($this->setSearchWhere())->count(); } }