@if(in_array($pregunta->tipo_respuesta, ['opcion_multiple', 'checkbox']))
Resumen
@php
$opciones = json_decode($pregunta->opciones, true) ?? [];
$respuestas = $pregunta->respuestas->pluck('respuesta');
$contadores = [];
foreach($opciones as $opcion) {
$contadores[$opcion] = 0;
}
foreach($respuestas as $respuesta) {
if($pregunta->tipo_respuesta == 'checkbox') {
$valores = json_decode($respuesta, true) ?? [$respuesta];
foreach($valores as $valor) {
if(isset($contadores[$valor])) {
$contadores[$valor]++;
}
}
} else {
if(isset($contadores[$respuesta])) {
$contadores[$respuesta]++;
}
}
}
@endphp
@foreach($contadores as $opcion => $count)
-
{{ $opcion }}: {{ $count }}
({{ $pregunta->respuestas->count() > 0 ? round(($count / $pregunta->respuestas->count()) * 100, 1) : 0 }}%)
@endforeach
@elseif($pregunta->tipo_respuesta == 'escala')
@php
$escalaContadores = [];
for($i = $pregunta->escala_min; $i <= $pregunta->escala_max; $i++) {
$escalaContadores[$i] = 0;
}
foreach($pregunta->respuestas as $respuesta) {
$valor = (int)$respuesta->respuesta;
if(isset($escalaContadores[$valor])) {
$escalaContadores[$valor]++;
}
}
$promedio = $pregunta->respuestas->avg('respuesta');
@endphp
Estadísticas
Promedio: {{ number_format($promedio, 2) }}
Total respuestas: {{ $pregunta->respuestas->count() }}
Distribución
@foreach($escalaContadores as $valor => $count)
- {{ $valor }}: {{ $count }} ({{ $pregunta->respuestas->count() > 0 ? round(($count / $pregunta->respuestas->count()) * 100, 1) : 0 }}%)
@endforeach
@else
@foreach($pregunta->respuestas->take(50) as $respuesta)
{{ $respuesta->respuesta }}
{{ \Carbon\Carbon::parse($respuesta->created_at)->locale('es')->diffForHumans() }}
@endforeach
@if($pregunta->respuestas->count() > 50)
Y {{ $pregunta->respuestas->count() - 50 }} respuestas más...
@endif
@endif