code: public function search($params)
      {
          $query = Item::find();
  
          $dataProvider = new ActiveDataProvider([
              'query' => $query,
          ]);
          $dataProvider->sort->defaultOrder = [
              'trigger_class'=>SORT_ASC, 'trigger_event'=>SORT_ASC, 'handler_class'=>SORT_ASC, 'handler_method'=>SORT_ASC
          ];
          if (!($this->load($params) && $this->validate())) {
              return $dataProvider;
          }
  
          $query->andFilterWhere([
              'id' => $this->id,
          ]);
  
          $query->andFilterWhere(['like', 'trigger_class', $this->trigger_class])
              ->andFilterWhere(['like', 'trigger_event', $this->trigger_event])
              ->andFilterWhere(['like', 'handler_class', $this->handler_class])
              ->andFilterWhere(['like', 'handler_method', $this->handler_method]);
  
          return $dataProvider;
      }
docs: Creates data provider instance with search query applied
  
  @param array $params
  
  @return ActiveDataProvider