public function actionOper() { $users = Yii::app()->cache->get('authlog_oper'); if ($users == null) { $cond = new CDbCriteria(); $cond->select = 'op_user'; $cond->distinct = true; $rs = AuthLog::model()->findAll($cond); $userIds = array(); foreach ($rs as $value) { $userIds[] = $value['op_user']; } $cond = new CDbCriteria(); $cond->select = 'userid,username'; $cond->order = 'userid asc'; $cond->addInCondition('userid', $userIds); $rs = BasicUser::model()->findAll($cond); $users = array(); foreach ($rs as $value) { $users[] = array('id' => $value['userid'], 'name' => mb_convert_encoding($value['username'], 'UTF-8', 'GBK')); } Yii::app()->cache->add('authlog_oper', $users); } echo json_encode(array('rows' => $users)); }