uid = $uid; } public function transform(InterestCircle $interestCircle) { if ($interestCircle['limit_condition']) { $answer = $interestCircle['limit_condition'] - intval(Redis::get('circle_error_count_' . $this->uid)); } else { $answer = -1; } return [ 'id' => $interestCircle['id'], 'join_question' => $this->formatQuestion($interestCircle), 'answer_count' => $answer ]; } public function formatQuestion(InterestCircle $interestCircle) { $question = []; $ques = json_decode($interestCircle['join_question'], true); if (empty($ques)) { return $question; } foreach ($ques as $key => &$value) { $value['id'] = $key + 1; foreach ($value['answer'] as $k => &$v) { $v['id'] = $k + 1; } } return $ques; } }