@for ($p = 1; $p <= $passageCount; $p++)
@php
// 패시지 시작 문제 번호와 끝 문제 번호 계산
$startQuestion = 1;
$endQuestion = 0;
// 이전 패시지의 문항 수를 더해서 시작 번호 계산
for ($prev = 1; $prev < $p; $prev++) {
$prevCountKey = "passage{$prev}_count";
$startQuestion += isset($config[$prevCountKey]) ? $config[$prevCountKey] : ($subject === 'listening' ? 10 : floor(40/$passageCount));
}
// 현재 패시지의 문항 수를 더해서 마지막 번호 계산
$countKey = "passage{$p}_count";
$questionsInPassage = isset($config[$countKey]) ? $config[$countKey] : ($subject === 'listening' ? 10 : floor(40/$passageCount));
$endQuestion = $startQuestion + $questionsInPassage - 1;
@endphp
@for ($i = $startQuestion; $i <= $endQuestion; $i++)
@php
$isCorrect = isset($result['scoring'][$subject.$i.'_correct']) && $result['scoring'][$subject.$i.'_correct'] ? true : false;
$responseField = $subject.'_response'.$i;
$userAnswer = $enrollmentCdtSet->$responseField ?? null;
$correctAnswer = $result['correct_answers'][$subject.$i] ?? '-';
@endphp
문제
정답
내답안
정답여부
{{ $i }}
@if (preg_match('/\|/', $correctAnswer))
{{ str_replace("|", " 또는 ", $correctAnswer) }}
@elseif (preg_match('/\;/', $correctAnswer))
{{ str_replace(";", " 그리고 ", $correctAnswer) }}
@else
{{ $correctAnswer }}
@endif
{{ !empty($userAnswer) ? $userAnswer : '없음' }}
{{ $isCorrect ? "O" : "X" }}
@if (isset($result['explanations']) && isset($result['explanations'][$subject.$i]))
해설
{{ $result['explanations'][$subject.$i] }}
@endif
@endfor