Example #1
0
 /**
  * Creates data provider instance with search query applied
  *
  * @param array $params
  *
  * @return ActiveDataProvider
  */
 public function search($params, $eventGroupId = null)
 {
     if (!empty($eventGroupId)) {
         $eventGroup = new Event();
         $query = $eventGroup->getByEventGroup($eventGroupId);
     } else {
         $query = Event::find();
         $this->load($params);
     }
     $dataProvider = new ActiveDataProvider(['query' => $query]);
     $className = explode('\\', Event::className());
     $className = $className[count($className) - 1];
     $query->where(['what' => isset($params[$className]['what']) ? $params[$className]['what'] : '', 'where' => isset($params[$className]['where']) ? $params[$className]['where'] : '', 'when_from' => isset($params[$className]['whenFrom']) ? $params[$className]['whenFrom'] : '', 'when_to' => isset($params[$className]['whenTo']) ? $params[$className]['whenTo'] : '', 'max_price' => isset($params[$className]['maxPrice']) ? $params[$className]['maxPrice'] : '', 'eventsWithoutTix' => isset($params[$className]['eventsWithoutTix']) ? 'true' : 'false']);
     return $dataProvider;
 }