/** * Creates data provider instance with search query applied * * @param array $params * * @return ActiveDataProvider */ public function search($params) { $query = Document::find(); $dataProvider = new ActiveDataProvider(['query' => $query]); if (!($this->load($params) && $this->validate())) { return $dataProvider; } $query->andFilterWhere(['id' => $this->id]); $query->andFilterWhere(['like', 'subject', $this->subject])->andFilterWhere(['like', 'from', $this->from])->andFilterWhere(['like', 'body', $this->body])->andFilterWhere(['like', 'class', $this->class]); return $dataProvider; }