예제 #1
0
 public function search($params, $pageSize = 20, $where)
 {
     $query = self::find();
     $query->orderBy(['date_time' => -1]);
     $query->where($where);
     $dataProvider = new ActiveDataProvider(['query' => $query, 'pagination' => ['pageSize' => $pageSize]]);
     if (!($this->load($params) && $this->validate())) {
         return $dataProvider;
     }
     $query = \app\helpers\LetHelper::addFilter($query, '_id', $this->_id, 'like');
     if (!empty($this->date_time)) {
         list($minDate, $maxDate) = explode(' to ', $this->date_time);
         $min_date = new \MongoDate(strtotime($minDate . ' 00:00:00'));
         $max_date = new \MongoDate(strtotime($maxDate . ' 23:59:59'));
         $query = \app\helpers\LetHelper::addFilter($query, 'date_time', [$min_date, $max_date], 'between');
     }
     return $dataProvider;
 }
예제 #2
0
 public function search($params, $pageSize = 20)
 {
     $query = self::find();
     $dataProvider = new ActiveDataProvider(['query' => $query, 'pagination' => ['pageSize' => $pageSize]]);
     $this->load($params);
     if (!$this->validate()) {
         return $dataProvider;
     }
     // condition here
     $query->andFilterWhere(['like', '_id', $this->_id])->andFilterWhere(['like', 'title', $this->title])->andFilterWhere(['like', 'sort', $this->sort])->andFilterWhere(['like', 'status', $this->status])->andFilterWhere(['like', 'creator', $this->creator])->andFilterWhere(['like', 'create_time', $this->create_time])->andFilterWhere(['like', 'editor', $this->editor])->andFilterWhere(['like', 'update_time', $this->update_time]);
     if (!empty($this->create_time)) {
         list($minDate, $maxDate) = explode(' to ', $this->create_time);
         $min_date = new \MongoDate(strtotime($minDate . ' 00:00:00'));
         $max_date = new \MongoDate(strtotime($maxDate . ' 23:59:59'));
         $query = \app\helpers\LetHelper::addFilter($query, 'create_time', [$min_date, $max_date], 'between');
     }
     if (\app\helpers\ArrayHelper::getValue($params, 'sort') == NULL) {
         $query->orderBy('create_time DESC');
     }
     return $dataProvider;
 }
예제 #3
0
파일: Job.php 프로젝트: quynhvv/stepup
 public function search($params, $pageSize = 20)
 {
     $query = self::find();
     $dataProvider = new ActiveDataProvider(['query' => $query, 'pagination' => ['pageSize' => $pageSize]]);
     if (!($this->load($params) and $this->validate())) {
         return $dataProvider;
     }
     if (!empty($this->keyword)) {
         $query->orFilterWhere(['like', 'title', $this->keyword])->orFilterWhere(['like', 'company_name', $this->keyword]);
     }
     if (!empty($this->_ids)) {
         $query->andFilterWhere(['in', '_id', $this->_ids]);
     }
     if (!empty($this->code)) {
         $query->andFilterWhere(['like', 'code', $this->code]);
     }
     if (!empty($this->title)) {
         $query->andFilterWhere(['like', 'title', $this->title]);
     }
     if (!empty($this->company_name)) {
         $query->andFilterWhere(['like', 'company_name', $this->company_name]);
     }
     if (!empty($this->status)) {
         $query->andFilterWhere(['=', 'status', $this->status]);
     }
     if (!empty($this->category_ids)) {
         $query->andFilterWhere(['category_ids' => $this->category_ids]);
     }
     if (!empty($this->created_by)) {
         $query->andFilterWhere(['=', 'created_by', $this->created_by]);
     }
     if (!empty($this->created_time)) {
         list($minDate, $maxDate) = explode(' to ', $this->created_time);
         $min_date = new \MongoDate(strtotime($minDate . ' 00:00:00'));
         $max_date = new \MongoDate(strtotime($maxDate . ' 23:59:59'));
         $query = \app\helpers\LetHelper::addFilter($query, 'created_time', [$min_date, $max_date], 'between');
     }
     if (!empty($this->updated_time)) {
         list($minDate, $maxDate) = explode(' to ', $this->updated_time);
         $min_date = new \MongoDate(strtotime($minDate . ' 00:00:00'));
         $max_date = new \MongoDate(strtotime($maxDate . ' 23:59:59'));
         $query = \app\helpers\LetHelper::addFilter($query, 'updated_time', [$min_date, $max_date], 'between');
     }
     if (\app\helpers\ArrayHelper::getValue($params, 'sort') == NULL) {
         $query->orderBy('created_time DESC');
     }
     return $dataProvider;
 }
예제 #4
0
파일: Project.php 프로젝트: quynhvv/stepup
 public function search($params, $pageSize = 20)
 {
     $query = self::find();
     $dataProvider = new ActiveDataProvider(['query' => $query, 'pagination' => ['pageSize' => $pageSize]]);
     if (!empty($this->created_by)) {
         $query = \app\helpers\LetHelper::addFilter($query, 'created_by', $this->created_by);
     }
     if (\app\helpers\ArrayHelper::getValue($params, 'sort') == NULL) {
         $query->orderBy('created_time DESC');
     }
     if (!($this->load($params) and $this->validate())) {
         return $dataProvider;
     }
     if (!empty($this->name)) {
         $query = \app\helpers\LetHelper::addFilter($query, 'name', $this->name, 'like');
     }
     if (!empty($this->description)) {
         $query = \app\helpers\LetHelper::addFilter($query, 'description', $this->description, 'like');
     }
     if (!empty($this->status)) {
         $query = \app\helpers\LetHelper::addFilter($query, 'status', $this->status);
     }
     if (!empty($this->created_time)) {
         list($minDate, $maxDate) = explode(' to ', $this->created_time);
         $min_date = new \MongoDate(strtotime($minDate . ' 00:00:00'));
         $max_date = new \MongoDate(strtotime($maxDate . ' 23:59:59'));
         $query = \app\helpers\LetHelper::addFilter($query, 'created_time', [$min_date, $max_date], 'between');
     }
     if (!empty($this->updated_time)) {
         list($minDate, $maxDate) = explode(' to ', $this->updated_time);
         $min_date = new \MongoDate(strtotime($minDate . ' 00:00:00'));
         $max_date = new \MongoDate(strtotime($maxDate . ' 23:59:59'));
         $query = \app\helpers\LetHelper::addFilter($query, 'updated_time', [$min_date, $max_date], 'between');
     }
     return $dataProvider;
 }