request->post(); $this->requestValidate($post,[ [['name','pid','level'],'required'], ]); if (empty($post['id'])){ $Categories= Categories::find()->where(['name'=>$post['name'],'is_deleted'=>0])->one(); if (!$Categories){ $Categories= new Categories(); $Categories->name=$post['name']; $Categories->pid=$post['pid']; $Categories->level=$post['level']; $Categories->save(); } return ['已添加']; }else{ $Categories= Categories::find()->where(['id'=>$post['id'],'is_deleted'=>0])->one(); if (!$Categories){ throw new Exception('分类不存在'); } $Categories->name=$post['name']??$Categories->name; $Categories->pid=$post['pid']??$Categories->pid;; $Categories->level=$post['level']??$Categories->level;; if (! $Categories->saveOrFail()){ throw new Exception('编辑失败'); }; return ['编辑成功']; } } /** * @doc-name 删除分类 * @doc-param int id ID */ public function actionDelCategories() { $get=\Yii::$app->request->get(); $this->requestValidate($get,[ ['id','required'], ]); $Categories= Categories::find()->where(['id'=>$get['id']])->one(); if (!$Categories){ throw new Exception('分类不存在'); } $Categories->is_deleted=1; if (!$Categories->saveOrFail()){ throw new Exception('删除失败'); }; return ['删除成功']; } /** * @doc-name 文章分类列表 * @doc-return mixed @List{id,name-string-分类,pid-int-父级id,level-int-级别} 文章分类列表 * @doc-return mixed @Pagination{total-int-总数量,totalPage-int-总页数,pageSize-int-每页条数} 分页数据 */ public function actionCategoriesList() { $get=\Yii::$app->request->get(); $query= Categories::find()->where(['is_deleted'=>0])->orderBy(['id'=>SORT_DESC]); $this->field=[ Categories::class=>[ 'id','name','pid','level' ] ]; return $this->create($query,$get); } /** * @doc-name 文章列表 * @doc-return mixed @List{id,su_id-int-医生id 0为后台发布,cover-string-封面,title-string-文章标题,intro-string-简介,content-string-内容,video_url-string-视频链接,read_num-int-阅读量,collection-string-货收藏),is_draft-int-是否是草稿0否1是} 文章列表 * @doc-return mixed @Pagination{total-int-总数量,totalPage-int-总页数,pageSize-int-每页条数} 分页数据 */ public function actionArticleList() { $get=\Yii::$app->request->get(); $query= DoctorArticle::find()->where(['is_delete'=>0])->orderBy(['id'=>SORT_DESC]); $this->field=[ DoctorArticle::class=>[ 'id','cid','su_id','cover','title','intro','content','video_url','read_num','collection','is_draft','categories'=>'categories.name','type' ] ]; return $this->create($query,$get); } /** * @doc-name 新增或修改文章 * @doc-param int id 传id则修改 / optional * @doc-param int type 文章类型1图文类型2图片 / optional * @doc-param int cid 分类id / optional * @doc-param int su_id 发部人 / optional * @doc-param string cover 封面 * @doc-param string title 标题 * @doc-param string intro 简介 / optional * @doc-param string content 内容 * @doc-param string video_url 视频链接 / optional * @doc-param int is_draft 是否是草稿0否1是 / optional */ public function actionSaveArticle() { $post = \Yii::$app->request->post(); $ArticleForm= new ArticleForm(); $ArticleForm->attributes = $post; return $ArticleForm->save(); } /** * @doc-name 删除文章 * @doc-param int id id */ public function actionDelArticle() { $get = \Yii::$app->request->get(); $this->requestValidate($get,[ ['id','required'], ]); $ArticleForm= new ArticleForm(); $ArticleForm->attributes = $get; return $ArticleForm->del(); } }