public function search($params) { $query = new \yii\db\Query(); $dataProvider = new ActiveDataProvider(['query' => $query->from(SqlTraceSqlNumber::tableName())]); $query->orderBy('Amount desc'); $this->load($params); if (!$this->validate()) { return $dataProvider; } if ($this->update_time) { $this->start_date = $this->update_time; $this->end_date = date('Y-m-d 00:00:00', strtotime('+1 day', strtotime($this->start_date))); } if (!empty($this->databasetype)) { $query = new \yii\db\Query(); $dataProvider = new ActiveDataProvider(['query' => $query->from(SqlTraceSqlNumber::tableName())]); } $query->andFilterWhere(['databasetype' => $this->databasetype]); $query->select("sqltext,databasetype,update_time,sum(Amount) as sAmount"); $query->andFilterWhere(['>=', 'update_time', $this->start_date]); $query->andFilterWhere(['<', 'update_time', $this->end_date]); $query->groupBy('sqltext_md5'); $query->orderBy('sAmount desc'); return $dataProvider; }
public function search($params) { $query = new \yii\db\Query(); if (!$this->start_date) { $this->start_date = date("Y-m-d 00:00:00"); $this->end_date = date('Y-m-d 00:00:00', strtotime('+1 day', strtotime($this->start_date))); } $dataProvider = new ActiveDataProvider(['db' => self::getDb(), 'query' => $query->from(SqlTraceTop50::tableName())]); $query->select(['sqltext', 'sum(amount) as amount', 'queryusemaxtime', 'databasetype', 'sqlquerytime', 'ip']); $query->groupBy('querymd5'); $query->orderBy('queryusemaxtime desc'); $this->load($params); if (!$this->validate()) { return $dataProvider; } $query->andFilterWhere(['>=', 'queryusemaxtime', $this->queryusemaxtime]); if ($this->databasetype && $this->databasetype != 'all') { $query->andFilterWhere(['databasetype' => $this->databasetype]); } $query->andFilterWhere(['>=', 'queryusemaxtime', $this->queryusemaxtime]); $query->andFilterWhere(['>=', 'sqlquerytime', $this->start_date]); $query->andFilterWhere(['<', 'sqlquerytime', $this->end_date]); $query->groupBy('querymd5'); $query->orderBy('queryusemaxtime desc'); return $dataProvider; }
public function search($params) { $query = new \yii\db\Query(); $dataProvider = new ActiveDataProvider(['query' => $query->from(SqlTracePersql50Search::tableName()), 'db' => self::getDb(), 'pagination' => ['pageSize' => 50]]); $query->orderBy('queryusemaxtime desc'); $this->load($params); if (!$this->validate()) { return $dataProvider; } if ($this->sqlquerytime) { $this->start_date = $this->sqlquerytime; $this->end_date = date('Y-m-d 00:00:00', strtotime('+1 day', strtotime($this->sqlquerytime))); } $query->andFilterWhere(['databasetype' => $this->databasetype]); $query->andFilterWhere(['sqlquerytime' => $this->start_date]); return $dataProvider; }
/** * Creates data provider instance with search query applied * * @param array $params * * @return ActiveDataProvider */ public function search($params) { $query = new \yii\db\Query(); $query->select(['classified.id', 'classified.title', 'classified.description', 'classified.price', 'classified.create_at', 'classified.is_status', 'classified.type', 'classified.user_id', 'main_category.main_category', 'category.category', 'country.country', 'region.region', 'city.city'])->from('classified')->join('JOIN', 'category', 'category.id = classified.category_id')->join('JOIN', 'main_category', 'main_category.id = classified.main_category_id')->join('JOIN', 'country', 'country.id = classified.country_id')->join('JOIN', 'region', 'region.id = classified.region_id')->join('JOIN', 'city', 'city.id = classified.city_id')->createCommand()->queryAll(); $dataProvider = new ActiveDataProvider(['query' => $query, 'pagination' => array('pageSize' => 10)]); $this->load($params); if (!$this->validate()) { // uncomment the following line if you do not want to return any records when validation fails // $query->where('0=1'); return $dataProvider; } if ($this->keyword) { $query->andFilterWhere(['or', ['like', 'title', $this->keyword], ['like', 'description', $this->keyword], ['like', 'category.category', $this->keyword]]); } if ($this->cat) { $query->andFilterWhere(['or', ['category_id' => $this->cat]]); } return $dataProvider; }
public function search($params) { $query = new \yii\db\Query(); if (empty($params) || empty($params['SqlLogSearch']['databasetype'])) { $dataProvider = new ActiveDataProvider(['query' => $query->from("SqlAttack"), 'sort' => ['defaultOrder' => ['executedate' => SORT_DESC]]]); } else { //判断参数中的时间,从而选择正确的数据库 $queryTable = 'SqlAttack'; if (isset($params['SqlAttackSearch']['start_date'])) { $baseDay = $params['SqlAttackSearch']['start_date']; //判断当前表是不是在这3天内 $queryDaystring = strtotime($baseDay); $querydaytimestring = date("Y-m-d", $queryDaystring); $querydayint = strtotime($querydaytimestring); //今天的标记daytime $todayint = strtotime(date('Y-m-d', time())); //if ($querydayint < $todayint && ($querydayint + 4 * 24 * 60 * 60) >= $todayint&&$querydayint>= strtotime('2016-8-9')) { // //判断是否在对应的天内 // //得到要查询的表的数据 // $queryTable = "SqlAttack" . date("Ymd", $querydayint); // } } $dataProvider = new ActiveDataProvider(['query' => $query->from($queryTable), 'sort' => ['defaultOrder' => ['executedate' => SORT_DESC]]]); } //$query->groupBy('querymd5'); $this->load($params); if (!$this->validate()) { return $dataProvider; } if ($this->databasetype && $this->databasetype != 'all') { $query->andFilterWhere(['databasetype' => $this->databasetype]); } $query->andFilterWhere(['like', 'sqltext', $this->sqltext]); $query->andFilterWhere(['>=', 'sqlusedtime', $this->start_sqlusedtime]); $query->andFilterWhere(['<=', 'sqlusedtime', $this->end_sqlusedtime]); $query->andFilterWhere(['>=', 'executedate', $this->start_date]); $query->andFilterWhere(['<=', 'executedate', $this->end_date]); return $dataProvider; }