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]; }
public function actionPrint() { $this->layout = 'print'; $model = Member::find()->all(); return $this->render('print', ['model' => $model]); }