model = new Article(); } /** * 获取文章列表 * @param array $where * @return array */ public function getPage(array $where = []) { $where[] = [ 'site_id', '=', $this->site_id ]; $field = 'id, category_id, site_id, title, intro, summary, image, author, content, visit, visit_virtual, is_show, sort, create_time, update_time'; $order = 'sort desc,create_time desc'; $search_model = $this->model->where([ [ 'site_id', '=', $this->site_id ], [ 'is_show', '=', 1 ] ])->withSearch([ 'title', 'category_id' ], $where)->with('articleCategory')->field($field)->order($order)->append([ 'image_thumb_mid' ]); return $this->pageQuery($search_model); } /** * 文章列表 * @param array $where * @param int $limit * @return array */ public function getAll(array $where = [], int $limit = 0) { $where[] = [ 'site_id', '=', $this->site_id ]; $field = 'id, category_id, site_id, title, intro, summary, image, author, content, visit, visit_virtual, is_show, sort, create_time, update_time'; $order = 'sort desc,create_time desc'; return $this->model->where([ [ 'site_id', '=', $this->site_id ], [ 'is_show', '=', 1 ] ])->withSearch([ 'title', 'category_id', 'ids' ], $where)->limit($limit)->with('articleCategory')->field($field)->append([ 'image_thumb_mid' ])->order($order)->select()->toArray(); } /** * 文章热门资讯 * @param int $limit * @return array */ public function getHot(int $limit = 0) { $field = 'id, title, image, create_time'; $order = 'sort desc,create_time desc, visit desc'; return $this->model->where([ [ 'site_id', '=', $this->site_id ], [ 'is_show', '=', 1 ] ])->limit($limit)->field($field)->order($order)->select()->toArray(); } /** * 获取文章信息 * @param int $id * @return array */ public function getInfo(int $id) { $field = 'id, category_id, site_id, title, intro, summary, image, author, content, visit, visit_virtual, is_show, sort, create_time, update_time'; return $this->model->with('articleCategory')->field($field)->where([ [ 'id', '=', $id ], [ 'site_id', '=', $this->site_id ] ])->append([ 'image_thumb_big' ])->findOrEmpty()->toArray(); } /** * 增加文章访问量 * @param int $id * @return mixed */ public function incVisit(int $id) { return $this->model->where([ 'id' => $id ])->setInc('visit'); } }