with('SubKriteria')->get(); $subkriteria = Subkriteria::all(); $subkriteria = Subkriteria::whereHas('kriteria', function($query) { $query->where('status', 'Aktif'); })->get(); $alternatif = Alternatif::where('id_mahasiswa', Auth::user()->id)->orderBy('id')->get(); $nilai = Penilaian::all(); for ($i = 0; $i < count($alternatif); $i++) { $penilaian = Penilaian::where('id_alternatif', $alternatif[$i]->id)->orderby('id_kriteria')->get(); if (count($penilaian) != 0) { $alternatif[$i]->penilaian = $penilaian; } else { $alternatif[$i]->penilaian = "null"; } } return view('penilaian', compact('no', 'kriteria', 'subkriteria', 'alternatif', 'penilaian')); } /** * Store a newly created resource in storage. */ public function store(Request $request, $id) { $kriteria = Kriteria::where('status', 'Aktif')->orderby('id')->get(); // Cek apakah request memiliki data untuk setiap kriteria $dataExist = false; foreach ($kriteria as $k) { $idk = $k->id; if ($request->has($idk) && $request->filled($idk)) { $dataExist = true; break; } } if (!$dataExist) { // Jika tidak ada data, tampilkan toast_error return redirect('penilaian')->with('toast_error', 'Penilaian Alternatif Gagal Ditambahkan'); } $cek = Penilaian::where('id_alternatif', $id)->get(); if (count($cek) == 0) { foreach ($kriteria as $k) { $idk = $k->id; Penilaian::create([ 'id_alternatif' => $id, 'id_kriteria' => $k->id, 'nilai' => $request->$idk, ]); } return redirect('penilaian')->with('toast_success', 'Penilaian Alternatif Berhasil Ditambahkan.'); } else { return back(); } } /** * Display the specified resource. */ public function show(string $id) { // } /** * Update the specified resource in storage. */ public function update(Request $request, $id) { $kriteria = Kriteria::where('status', 'Aktif')->orderby('id')->get(); // Cek apakah request memiliki data untuk setiap kriteria $dataExist = false; foreach ($kriteria as $k) { $idk = $k->id; if ($request->has($idk) && $request->filled($idk)) { $dataExist = true; break; } } if (!$dataExist) { // Jika tidak ada data, tampilkan toast_error return redirect('penilaian')->with('toast_error', 'Tidak Ada Perubahan Data'); } foreach ($kriteria as $k) { $idk = $k->id; Penilaian::where('id_alternatif', $id)->where('id_kriteria', $k->id)->update([ 'nilai' => $request->$idk ]); } return redirect('penilaian')->with('toast_success', 'Perubahan Berhasil Disimpan.'); } /** * Remove the specified resource from storage. */ public function destroy(string $id) { // } }