id] ?? 0; $bobotAlternatif = SkorMakanan::where('kriteria_id', $kriteria->id) ->where('makanan_id', $alternatif->id) ->value('nilai') ?? 0; $nilaiAkhir += $bobotKriteria * $bobotAlternatif; } // Simpan ke tabel rekomendasi Rekomendasi::updateOrCreate( ['makanan_id' => $alternatif->id, 'user_id' => Auth::id()], [ 'nilai_akhir' => $nilaiAkhir, 'tanggal_rekomendasi' => Carbon::now()->toDateString() ] ); } return redirect()->route('rekomendasi.hasil')->with('success', 'Rekomendasi berhasil dihitung dan disimpan.'); } // 2. Tampilkan hasil rekomendasi public function tampil() { // Hanya mengambil data rekomendasi dengan nilai_akhir lebih besar dari 0 $rekomendasi = Rekomendasi::with('makanan') ->where('nilai_akhir', '>', 0) ->orderByDesc('nilai_akhir') ->get(); return view('admin.rekomendasi', compact('rekomendasi')); } public function kirimKeUser($userId) { $adminId = Auth::id(); $dataAdmin = Rekomendasi::where('user_id', $adminId)->get(); foreach ($dataAdmin as $item) { Rekomendasi::updateOrCreate( ['user_id' => $userId, 'makanan_id' => $item->makanan_id], [ 'nilai_akhir' => $item->nilai_akhir, 'tanggal_rekomendasi' => now(), ] ); } return redirect()->back()->with('success', 'Hasil rekomendasi berhasil dikirim ke user.'); } public function hapusSemua() { Rekomendasi::truncate(); // Menghapus semua data return redirect()->back()->with('success', 'Semua data rekomendasi berhasil dihapus.'); } }