📘 Detailed Solutions

@php $total = $answers->count(); $correct = $answers->filter(fn($q) => $q->is_correct)->count(); $wrong = $answers->filter(fn($q) => !$q->is_correct && $q->selected_answer)->count(); $unattempted = $answers->filter(fn($q) => empty($q->selected_answer))->count(); @endphp
📊 Total: {{ $total }} ✅ Correct: {{ $correct }} ❌ Wrong: {{ $wrong }} ⏭️ Unattempted: {{ $unattempted }}
@foreach($answers as $index => $q)
Q{{ $index + 1 }}. {{ $q->question_text }}
@if($q->is_correct) ✅ Correct @elseif($q->selected_answer) ❌ Incorrect @else ⏭️ Unattempted @endif
@foreach(['A', 'B', 'C', 'D'] as $letter) @php $optionText = $q->{"option_" . strtolower($letter)}; $isCorrect = $q->correct_answer == $letter; $isSelectedWrong = $q->selected_answer == $letter && !$q->is_correct; $highlightClass = $isCorrect ? 'highlight-correct' : ($isSelectedWrong ? 'highlight-wrong' : ''); @endphp
{{ $letter }}. {{ $optionText }} @if($isCorrect) @elseif($isSelectedWrong) @endif
@endforeach
@if($q->selected_answer)
🎯 Your Answer: {{ $q->selected_answer }}
@else
⚠️ Your Answer: Not Attempted
@endif
✅ Correct Answer: {{ $q->correct_answer ?? 'N/A' }}
📝 Marks: {{ $q->selected_answer ? $q->marks_obtained : '0.00' }}
@if($q->explanation)
💡 Explanation
@php $explanation = $q->explanation; // Format steps with numbers $explanation = preg_replace('/Step(\s*\d+)/', '$1', $explanation); // Format formulas between ** ** $explanation = preg_replace('/\*\*(.*?)\*\*/', '$1', $explanation); // Highlight key terms $explanation = preg_replace('/\b(Level\d+|Base address|Row-major|dimensions|offset|address)\b/', '$1', $explanation); // Convert line breaks to paragraphs $explanation = nl2br($explanation); @endphp {!! $explanation !!}
@else
No explanation provided
@endif
@endforeach