コード例 #1
0
 public function actionView($slug)
 {
     $model = new Comment();
     if ($model->load(Yii::$app->request->post())) {
         $model->created_at = new Carbon();
         $model->updated_at = new Carbon();
         $model->user_id = Yii::$app->user->identity->id;
         if ($model->save()) {
             $model->article->updateAllCounters(['comments_count' => 1]);
             return $this->redirect(['view', 'slug' => $slug]);
         }
     }
     $article = Article::findOne(['slug' => $slug]);
     if (is_null($article)) {
         throw new NotFoundHttpException('请求页面不存在');
     }
     return $this->render('view', ['article' => $article, 'model' => $model]);
 }
コード例 #2
0
 /**
  * 我的评论
  * @param string $id
  * @return string|\yii\web\Response
  */
 public function actionMyComment($id = "")
 {
     if (Yii::$app->request->isPost && $id != '') {
         $model = Comment::findOne($id);
         if ($model->user_id == Yii::$app->user->identity->id) {
             Yii::$app->session->setFlash('my_comment_delete_success', '评论删除成功');
             $model->delete();
         } else {
             Yii::$app->session->setFlash('my_comment_delete_error', '评论删除失败');
         }
         return $this->redirect(['account/my-comment']);
     }
     $searchModel = new CommentSearch();
     $dataProvider = $searchModel->mySearch(Yii::$app->user->identity->id);
     return $this->render('my-comment', ['dataProvider' => $dataProvider, 'searchModel' => $searchModel]);
 }
コード例 #3
0
ファイル: CommentSearch.php プロジェクト: NikDevPHP/yii2-blog
 public function search($params)
 {
     $query = Comment::find();
     $dataProvider = new ActiveDataProvider(['query' => $query]);
     if (!($this->load($params) && $this->validate())) {
         return $dataProvider;
     }
     $this->addCondition($query, 'id');
     $this->addCondition($query, 'user_id');
     $this->addCondition($query, 'article_id');
     $this->addCondition($query, 'content', true);
     $this->addCondition($query, 'created_at');
     $this->addCondition($query, 'updated_at');
     $this->addCondition($query, 'deleted_at');
     return $dataProvider;
 }