Beispiel #1
0
 public function search()
 {
     $page = Yii::$app->request->get('page', 0);
     $page = $page < 0 ? 0 : $page - 1;
     $limit = Yii::$app->request->get('limit', 25);
     $sorts = json_decode(trim(Yii::$app->request->get('sort')), true);
     $name = Yii::$app->request->get('name');
     $sex = Yii::$app->request->get('sex');
     $startDay = Yii::$app->request->get('start_date') != '' ? trim(Yii::$app->request->get('start_date')) : '';
     $endDay = Yii::$app->request->get('end_date') != '' ? trim(Yii::$app->request->get('end_date')) : '';
     if ($startDay != '' && $endDay == '') {
         $endDay = '2030-01-01';
     }
     if ($startDay == '' && $endDay != '') {
         $startDay = '1970-01-01';
     }
     $query = Member::find()->joinWith('user')->filterWhere(['between', 'join_time', $startDay, $endDay])->andFilterWhere(['sex' => $sex])->andFilterWhere(['like', 'name', $name]);
     if (Yii::$app->sh_user->getIdentity()->getUsername() != 'sjh') {
         $query->andFilterWhere(['user_id' => Yii::$app->sh_user->getId()]);
     }
     $countQuery = clone $query;
     $pagination = new Pagination(['totalCount' => $countQuery->count(), 'pageSize' => $limit]);
     if ($sorts != null) {
         foreach ($sorts as $sort) {
             $query->addOrderBy([$sort['property'] => $sort['direction'] == 'ASC' ? SORT_ASC : SORT_DESC]);
         }
     } else {
         $query->addOrderBy(['id' => SORT_DESC]);
     }
     //var_dump($query);exit;
     $model = $query->offset($pagination->offset)->limit($limit)->all();
     return ['count' => $countQuery->count(), 'model' => $model];
 }
Beispiel #2
0
 public function actionPrint()
 {
     $this->layout = 'print';
     $model = Member::find()->all();
     return $this->render('print', ['model' => $model]);
 }