public function actionIndex($category_id = "")
 {
     $query = Article::find();
     if (intval($category_id) != 0) {
         $query->where('category_id=:category_id', array(":category_id" => $category_id));
     }
     $query->orderBy('created_at DESC, updated_at DESC');
     $countQuery = clone $query;
     $pages = new Pagination(['totalCount' => $countQuery->count(), 'defaultPageSize' => 10]);
     $articles = $query->offset($pages->offset)->limit($pages->limit)->all();
     return $this->render('index', ['articles' => $articles, 'pages' => $pages]);
 }
 public function search($params)
 {
     $query = Article::find();
     $dataProvider = new ActiveDataProvider(['query' => $query, 'sort' => ['defaultOrder' => ['created_at' => SORT_DESC]]]);
     if (!($this->load($params) && $this->validate())) {
         return $dataProvider;
     }
     $this->addCondition($query, 'id');
     $this->addCondition($query, 'category_id');
     $this->addCondition($query, 'user_id');
     $this->addCondition($query, 'title', true);
     $this->addCondition($query, 'slug', true);
     $this->addCondition($query, 'content', true);
     $this->addCondition($query, 'content_format', true);
     $this->addCondition($query, 'comments_count');
     $this->addCondition($query, 'meta_title', true);
     $this->addCondition($query, 'meta_description', true);
     $this->addCondition($query, 'meta_keywords', true);
     $this->addCondition($query, 'created_at');
     $this->addCondition($query, 'updated_at');
     $this->addCondition($query, 'deleted_at');
     return $dataProvider;
 }