/** * @param array $params * @return ArrayDataProvider */ public function search($params = []) { $dataProvider = \Yii::createObject(ArrayDataProvider::className()); $query = (new Query())->select(['name', 'description', 'rule_name'])->andWhere(['type' => $this->type])->from($this->manager->itemTable); if ($this->load($params) && $this->validate()) { $query->andFilterWhere(['like', 'name', $this->name])->andFilterWhere(['like', 'description', $this->description])->andFilterWhere(['like', 'rule_name', $this->rule_name]); } $dataProvider->allModels = $query->all($this->manager->db); return $dataProvider; }