public function groupCount($userIds) { $models = (new \Yii\db\Query())->select(['user_id', 'count(*) as count'])->from(Member::tableName())->groupBy('user_id')->all(); $groupData = []; foreach ($models as $value) { $groupData[$value['user_id']] = $value['count']; } return $groupData; }
public function actionList() { $rs = Group::search(); $data = ['count' => $rs['count'], 'rows' => []]; $userIds = []; foreach ($rs['model'] as $value) { $attrs = $value->attributes; $attrs['create_time'] = substr($attrs['create_time'], 0, 10); $attrs['update_time'] = substr($attrs['update_time'], 0, 10); $attrs['username'] = isset($value->user->username) ? $value->user->username : ''; $attrs['type'] = isset($value->type->name) ? $value->type->name : ''; $data['rows'][] = $attrs; $userIds[] = $attrs['user_id']; } if (Yii::$app->sh_user->getIdentity()->getUsername() == 'sjh') { $groupData = Member::groupCount($userIds); foreach ($data['rows'] as $key => $value) { $data['rows'][$key]['member_count'] = isset($groupData[$value['user_id']]) ? $groupData[$value['user_id']] : 0; } } echo json_encode($data); Yii::$app->end(); }
public function actionPrint() { $this->layout = 'print'; $model = Member::find()->all(); return $this->render('print', ['model' => $model]); }