/** * Creates data provider instance with search query applied * * @param array $params * * @return ActiveDataProvider */ public function search($params) { $query = EventGroup::find(); $this->load($params); $dataProvider = new ActiveDataProvider(['query' => $query, 'sort' => ['attributes' => ['Name', 'MinPrice', 'CategoryId', 'TicketCount']]]); $className = explode('\\', EventGroup::className()); $className = $className[count($className) - 1]; $query->where(['maxPrice' => isset($params[$className]['maxPrice']) ? $params[$className]['maxPrice'] : '']); return $dataProvider; }