52 lines
1.6 KiB
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!');
|
|
}
|
|
}
|