public function search($params) { $query = Humour::find(); $queryParams = Yii::$app->request->getQueryParams(); $sort = trim(isset($queryParams['sort']) ? $queryParams['sort'] : 'update_time'); $dataProvider = new ActiveDataProvider(['query' => $query, 'sort' => ['defaultOrder' => ["{$sort}" => SORT_DESC]]]); /*自定义处理classify存在情况下的搜索*/ if (isset($params['classify']) && !empty($params['classify'])) { $this->classify = trim(trim($params['classify'])); } elseif (isset($params['tags']) && !empty($params['tags'])) { $this->tags = trim(trim($params['tags'])); } else { if (!($this->load($params) && $this->validate())) { return $dataProvider; } } /*********END*************************/ $query->andFilterWhere(['id' => $this->id, 'status' => $this->status, 'create_time' => $this->create_time, 'update_time' => $this->update_time, 'author_id' => $this->author_id, 'viewcount' => $this->viewcount, 'up' => $this->up, 'classify' => $this->classify]); $query->andFilterWhere(['like', 'title', $this->title])->andFilterWhere(['like', 'content', $this->content])->andFilterWhere(['like', 'describe', $this->describe])->andFilterWhere(['like', 'tags', $this->tags]); return $dataProvider; }