Exemplo n.º 1
0
 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;
 }
Exemplo n.º 2
0
 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;
 }
Exemplo n.º 4
0
 /**
  * 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;
 }
Exemplo n.º 5
0
 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;
 }