'DESC']; if($sort) $order = ['sort'=>$sort]; // 列表获取 $model = $this ->field('category_id,category_name,sort,create_time,update_time') ->where('site_id',$siteId) ->where('category_name','LIKE',"%{$categoryName}%") ->withCount(['relevanceArticle'=>'article_count']) ->order($order); if($isPage){ $result = $model->paginate(['list_rows' => $pageSize,'page' => $page]); if($result) $result = $result->toArray(); $list = [ 'count' => $result['total'], 'list' => $result['data'], 'page_count' => $result['last_page'], ]; }else{ $list = $model->select(); if($list) $list = $list->toArray(); } return $this->success($list); } /** * Common: 关联文章表 * Author: wu-hui * Time: 2022/10/17 11:10 */ public function relevanceArticle(){ return $this->hasMany(Article::class, 'category_id','category_id'); } /** * Common: 根据id获取分类列表 * Author: wu-hui * Time: 2022/11/03 16:50 * @param $ids * @return array 返回由分类id为键 分类名称为值的内容 * @throws \think\db\exception\DataNotFoundException * @throws \think\db\exception\DbException * @throws \think\db\exception\ModelNotFoundException */ public function getListCateList($ids){ $list = (new ArticleCategory()) ->field('category_id,category_name') ->whereIn('category_id',$ids) ->select(); if($list){ $list = $list->toArray(); return array_column($list,'category_name','category_id'); } return []; } /** * Common: 客户端文章列表获取全部分类 * Author: wu-hui * Time: 2022/11/07 15:28 * @return array * @throws \think\db\exception\DataNotFoundException * @throws \think\db\exception\DbException * @throws \think\db\exception\ModelNotFoundException */ public function apiGetList(){ // 列表获取 $list = $this ->field('category_id,category_name') ->where('site_id',$this->site_id) ->order(['sort'=>'desc','create_time'=>'DESC']) ->select(); if($list) $list = $list->toArray(); return $this->success($list); } }