param([ 'title' => '', 'category_id' => 0, 'created_at' => '', 'page/d' => 1, 'limit/d' => 10, ]); $article = ArticleModel::withoutField([ 'language_id', 'category_id', 'author', 'source', 'desc', 'link', 'content', 'updated_at', 'deleted_at', 'seo_title', 'seo_keywords', 'seo_desc' ]) ->category($param['category_id']) ->withSearch(['title', 'created_at'], (function() use($param) { $condition = [ 'title' => $param['title'], ]; if (isset($param['created_at'])) { $condition = [ 'created_at' => explode(',', $param['created_at']) ]; } return $condition; })()) ->order('sort', 'desc') ->page($param['page'], $param['limit']) ->select(); return success('获取成功', $article); } // 文章详情 public function read() { $article = ArticleModel::withoutField([ 'language_id', 'updated_at', 'deleted_at', ]) ->id(request()->param('id')) ->find(); if (is_null($article)) { return error('文章不存在'); } return success('获取成功', $article); } // 添加文章 public function save() { $post = request()->post([ 'category_id', 'title', 'image', 'link', 'sort' => 0, 'desc', 'content', 'recommend', 'release_time', 'seo_title', 'seo_keywords', 'seo_desc', ]); $data = array_merge($post, ['language_id' => request()->lang_id]); $validate = new ArticleValidate; if (!$validate->check($data)) { return error($validate->getError()); } $article = new ArticleModel; if (!$article->save($data)) { return error('操作失败'); } return success('操作成功'); } // 更新文章 public function update() { $id = request()->param('id'); $put = request()->put([ 'category_id', 'title', 'image', 'link', 'sort', 'desc', 'content', 'recommend', 'release_time', 'seo_title', 'seo_keywords', 'seo_desc', ]); $data = array_merge($put, ['language_id' => request()->lang_id]); $validate = new ArticleValidate; if (!$validate->check(array_merge($data, ['id' => $id]))) { return error($validate->getError()); } $article = ArticleModel::id($id)->find(); if (is_null($article)) { return error('请确认操作对象是否存在'); } if (!$article->save($data)) { return error('操作失败'); } return success('操作成功'); } // 删除文章 public function delete() { $id = request()->param('id'); $article = ArticleModel::id($id)->find(); if (is_null($article)) { return error('请确认操作对象是否存在'); } if (!$article->useSoftDelete('deleted_at', date('Y-m-d H:m:s', time()))->delete()) { return error('操作失败'); } return success('操作成功'); } }