MIF_E31221225/app/Http/Controllers/Siswa/JawabanController.php

52 lines
1.6 KiB
PHP

<?php
namespace App\Http\Controllers\Siswa;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use App\Models\Ujian;
use App\Models\SoalPilgan;
use App\Models\SoalEssay;
use App\Models\JawabanPg;
use App\Models\JawabanEssay;
use Illuminate\Support\Facades\Auth;
class JawabanController extends Controller
{
public function kerjakan($ujian_id)
{
$ujian = Ujian::findOrFail($ujian_id);
$soalPg = SoalPilgan::where('ujian_id', $ujian_id)->get();
$soalEssay = SoalEssay::where('ujian_id', $ujian_id)->get();
return view('siswa.ujian.kerjakan', compact('ujian', 'soalPg', 'soalEssay'));
}
public function simpan(Request $request)
{
$siswa_id = Auth::guard('siswa')->id();
$ujian_id = $request->ujian_id;
// Simpan jawaban PG
if ($request->has('pg')) {
foreach ($request->pg as $soal_id => $jawaban) {
JawabanPg::updateOrCreate(
['siswa_id' => $siswa_id, 'ujian_id' => $ujian_id, 'soal_pg_id' => $soal_id],
['jawaban' => $jawaban]
);
}
}
// Simpan jawaban Essay
if ($request->has('essay')) {
foreach ($request->essay as $soal_id => $jawaban) {
JawabanEssay::updateOrCreate(
['siswa_id' => $siswa_id, 'ujian_id' => $ujian_id, 'soal_essay_id' => $soal_id],
['jawaban' => $jawaban]
);
}
}
return redirect()->route('siswa.dashboard')->with('success', 'Jawaban berhasil dikirim!');
}
}