public function search($params) { $query = SqlLogSearch::find(); $dataProvider = new ActiveDataProvider(['query' => $query]); $dataProvider->setSort(['attributes' => ['sqlusedtime']]); $this->load($params); if (!$this->validate()) { return $dataProvider; } if (isset($params['id'])) { $query->andWhere(['Id' => $params['id']]); } if (isset($params['SqlLogSearch']['start_date']) && !empty($params['SqlLogSearch']['start_date'])) { $query->andWhere(" executedate>=:start_date", [':start_date' => $params['SqlLogSearch']['start_date']]); } if (isset($params['SqlLogSearch']['end_date']) && !empty($params['SqlLogSearch']['end_date'])) { $query->andWhere(" executedate<=:end_date", [':end_date' => $params['SqlLogSearch']['end_date']]); } if (isset($params['SqlLogSearch']['sqltext']) && !empty($params['SqlLogSearch']['sqltext'])) { $query->andWhere(['like', 'sqltext', $params['SqlLogSearch']['sqltext']]); } if (!isset($params['sort'])) { $query->orderBy('executedate desc '); } return $dataProvider; }