diff --git a/app/Controllers/Admin.php b/app/Controllers/Admin.php index 8aed0cc..0690138 100644 --- a/app/Controllers/Admin.php +++ b/app/Controllers/Admin.php @@ -302,14 +302,10 @@ class Admin extends BaseController public function respuestas() { - $respuestas = model(SurveyUserModel::class)->find(); - $encuestas = model(EncuestaModel::class)->find(); - $prestadores = model(PrestadorModel::class)->getPrestadoresActivos(); + $respuestas = model(SurveyUserModel::class)->getEncuestasContestadas(); $data = [ 'respuestas' => $respuestas, - 'encuestas' => $encuestas, - 'prestadores' => $prestadores, ]; return view('Admin/respuestas', $data); } @@ -323,10 +319,25 @@ class Admin extends BaseController )); } + + // Agrupar respuestas de opción múltipe + $respuestas = array_reduce($respuestas, function (array $accumulator, array $element) { + $accumulator[$element['question_id']][] = $element; + return $accumulator; + }, []); + + // Datos de prestador + $prestadorId = model(UserModel::class)->find($userId)->idprestador; + $prestador = model(PrestadorModel::class)->find($prestadorId); + + $data = [ + 'tituloEncuesta' => model(EncuestaModel::class)->find($surveyId)['title'], + 'prestador' => $prestador, 'respuestas' => $respuestas, ]; + return view('Admin/respuesta', $data); } diff --git a/app/Models/RespuestaModel.php b/app/Models/RespuestaModel.php index 020a20d..052faaa 100644 --- a/app/Models/RespuestaModel.php +++ b/app/Models/RespuestaModel.php @@ -21,8 +21,12 @@ class RespuestaModel extends Model public function getRespuestas($survey_id, $user_id) { + $db = db_connect(); + $where = 'answers.survey_id = ' . $db->escape($survey_id) . ' AND answers.user_id = ' . $db->escape($user_id); return $this - ->where(['survey_id' => $survey_id, 'user_id' => $user_id]) + ->select('answers.id, answers.survey_id, answers.user_id, answers.answer,answers.question_id, questions.question, questions.type') + ->join('questions', 'answers.question_id = questions.id') + ->where($where) ->findAll(); } } diff --git a/app/Models/SurveyUserModel.php b/app/Models/SurveyUserModel.php index c1dd307..bf99c9e 100644 --- a/app/Models/SurveyUserModel.php +++ b/app/Models/SurveyUserModel.php @@ -24,4 +24,14 @@ class SurveyUserModel extends Model 'user_id' => $userId, ])->countAllResults(); } + + + public function getEncuestasContestadas() + { + return $this + ->join('survey_set', 'survey_user.survey_id = survey_set.id') + ->join('users', 'survey_user.user_id = users.id') + ->join('prestador', 'users.idprestador = prestador.idprestador') + ->findAll(); + } } diff --git a/app/Views/Admin/respuesta.php b/app/Views/Admin/respuesta.php index 5009e0a..a0e0d1d 100644 --- a/app/Views/Admin/respuesta.php +++ b/app/Views/Admin/respuesta.php @@ -6,21 +6,34 @@ +

+

Respuestas de:

- + - - + + + + + + + + diff --git a/app/Views/Admin/respuestas.php b/app/Views/Admin/respuestas.php index f167cdb..5cd667c 100644 --- a/app/Views/Admin/respuestas.php +++ b/app/Views/Admin/respuestas.php @@ -12,8 +12,8 @@
Pregunta IDPregunta Respuesta
+ + +
+ +
- - + + @@ -21,8 +21,8 @@ - - + +
Encuesta IDPrestador IDEncuestaPrestador Fecha Respuestas
Ver respuestas