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; }