validate([ 'nama' => 'required|string|unique:crips,nama', 'nilai' => 'required|integer|unique:crips,nilai', ]); $nama = $request->input('nama'); $nilai = $request->input('nilai'); // Cek apakah ada crips dengan nama atau nilai yang duplikat $duplikat = Crip::where('nama', $nama)->orWhere('nilai', $nilai)->exists(); if ($duplikat) { toastr()->error('Nama atau nilai tersebut sudah ada.'); return redirect()->back(); } $crip = new Crip(); $crip->nama = $nama; $crip->nilai = $nilai; if ($crip->save()) { toastr()->success('Data crips berhasil ditambahkan.'); } else { toastr()->error('Gagal menambahkan data crips.'); } return redirect()->route('crips'); } public function updatecrips(Request $request, $id) { // Validasi input $request->validate([ 'nama' => 'required|string|unique:crips,nama,' . $id, 'nilai' => 'required|integer|unique:crips,nilai,' . $id, ]); // Cari data crips berdasarkan ID $crip = Crip::find($id); if (!$crip) { toastr()->error('Data crips tidak ditemukan.'); return redirect()->route('crips'); } // Ambil data dari request $crip->nama = $request->input('nama'); $crip->nilai = $request->input('nilai'); // Cek apakah ada crips dengan nama atau nilai yang duplikat $duplikat = Crip::where('nama', $crip->nama) ->orWhere('nilai', $crip->nilai) ->where('id', '!=', $id) // Pastikan tidak memeriksa data yang sedang diperbarui ->exists(); if ($duplikat) { toastr()->error('Nama atau nilai tersebut sudah ada.'); return redirect()->back(); } // Simpan perubahan if ($crip->save()) { toastr()->success('Data crips berhasil diperbarui.'); } else { toastr()->error('Gagal memperbarui data crips.'); } // Redirect ke halaman daftar crips return redirect()->route('crips')->with('reload', true); } public function hapuscrips($id) { $crip = Crip::findOrFail($id); $crip->delete(); toastr()->success('Data crips berhasil dihapus.'); return redirect()->route('crips'); } public function downloadcrips() { // Ambil data sekolah dari database $crips = Crip::all(); $pdf = Pdf::loadView('admin.cripspdf', compact('crips')); // Download file PDF return $pdf->download('data_crips.pdf'); } }