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; }
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; }
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; }
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; }