public function getGroupUser(Request $request) { $validator = Validator::make($request->all(), ['question_id' => 'required', 'user_id' => 'required']); if ($validator->fails()) { if ($validator->errors()->has('question_id')) { return response()->json($validator->errors()->first('question_id'), 400); } if ($validator->errors()->has('group_user_id')) { return response()->json($validator->errors()->first('user_id'), 400); } } $group_name = CompetitionGroupUser::where('competition_question_id', $request->question_id)->where('user_id', $request->user_id)->pluck('group_name'); $group_user_ids = CompetitionGroupUser::where('group_name', $group_name)->where('competition_question_id', $request->question_id)->lists('id'); $group_list = CompetitionGroupUser::with('answer')->where('competition_question_id', $request->question_id)->where('group_name', $group_name)->get(); $muti_question_count = MutipleQuestion::where('question_id', $request->question_id)->count(); foreach ($group_list as $key => $value) { $profile_img = json_decode($value->profile_img, true); if ($profile_img) { $group_list[$key]['image_url'] = isset($profile_img['url']) ? $profile_img['url'] : ''; } else { $group_list[$key]['image_url'] = "http://url"; } $group_list[$key]['limited_answer'] = $muti_question_count; $group_list[$key]['total_has_answer'] = count($group_list) * $muti_question_count; $group_list[$key]['current_has_answer'] = MutipleAnswer::wherein('user_id', $group_user_ids)->count(); $group_list[$key]['init_answer'] = null; foreach ($group_list[$key]['answer'] as $i => $value) { if ($i == 0) { $group_list[$key]['init_answer'] = $value; } } } return response()->json($group_list); }