where('id', $id)->first(); $soal = Kuis::with(['jawaban'])->where('materi_id', $id)->get(); try { //code... $no = $request->query('soal') - 1; return Inertia::render('Admin/Kuis', [ "materi" => $materi, "soal" => $soal[$no] ]); } catch (\Throwable $th) { //throw $th; return Inertia::render('Admin/AddKuis', [ "materi" => $materi, ]); } } public function saveQuiz(Request $request) { $data = $request->all(); $kuis = Kuis::findOrFail($data['id']); $gambar_soal = $request->file('gambar_soal'); if ($gambar_soal) { // random name file berdasarkan waktu $name = time() . '.' . $gambar_soal->getClientOriginalExtension(); // upload to public $gambar_soal->move(public_path('uploads/soal'), $name); $data['gambar_soal'] = $name; } $kuis->update([ "pertanyaan" => $data['soal'], "gambar_soal" => $data['gambar_soal'], ]); foreach ($data['jawaban'] as $key => $value) { $jawaban = DetailJawaban::findOrFail($data['id_jawaban'][$key]); $jawaban->jawaban = $value; $jawaban->benar = $data['benar'][$key]; try { //code... $gambar_jawaban = $request->file('gambar_jawaban')[$key]; $name = time() . '.' . $gambar_jawaban->getClientOriginalExtension(); // upload to public $gambar_jawaban->move(public_path('uploads/jawaban'), $name); $jawaban->gambar_jawaban = $name; } catch (\Throwable $th) { //throw $th; } $jawaban->save(); } return response()->json([ "status" => "success", "message" => "Data kuis berhasil diupdate", ], 200); } public function addQuiz(Request $request) { $data = $request->all(); $kuis = new Kuis; // dd($request->file('gambar_jawaban')); $gambar_soal = $request->file('gambar_soal'); if ($gambar_soal) { // random name file berdasarkan waktu $name = time() . '.' . $gambar_soal->getClientOriginalExtension(); // upload to public $gambar_soal->move(public_path('uploads/soal'), $name); $data['gambar_soal'] = $name; } $kuis->materi_id = $data['id']; $kuis->pertanyaan = $data['soal']; $kuis->gambar_soal = $data['gambar_soal']; $kuis->save(); foreach ($data['jawaban'] as $key => $value) { $jawaban = new DetailJawaban; $jawaban->kuis_id = $kuis->id; $jawaban->jawaban = $value; $jawaban->benar = $data['benar'][$key]; if ($data['gambar_jawaban'][$key] != "undefined") { $gambar_jawaban = $request->file('gambar_jawaban')[$key]; $name = time() . $key . '.' . $gambar_jawaban->getClientOriginalExtension(); // upload to public $gambar_jawaban->move(public_path('uploads/jawaban'), $name); $jawaban->gambar_jawaban = $name; } $jawaban->save(); } return response()->json([ "status" => "success", "message" => "Data kuis berhasil ditambahkan", ], 200); } public function submitQuiz(Request $request) { $kuis = RiwayatKuis::create([ "materi_id" => $request->materi_id, "user_id" => $request->user_id, "skor" => (int)$request->nilai, "jumlah_benar" => $request->total_benar, "jumlah_salah" => $request->total_salah, "status" => "selesai", ]); foreach ($request->jawaban as $key => $value) { $detail = new DetailRiwayatKuis; $detail->riwayat_kuis_id = $kuis->id; $detail->kuis_id = $value['kuis_id']; $detail->jawaban_kuis_id = $value['jawaban_id']; $detail->save(); } return response()->json([ "status" => "success", "data" => $kuis, ], 200); } }