validate([ 'kategori_masalah' => 'required', 'deskripsi' => 'required|min:10', 'foto' => 'nullable|image|mimes:jpg,png,jpeg|max:2048' ]); $penghuni = \App\Models\Penghuni::where('email', Auth::user()->email)->first(); if (!$penghuni) { return back()->with('error', 'Data penghuni tidak ditemukan!'); } $fotoPath = null; if ($request->hasFile('foto')) { $fotoPath = $request->file('foto')->store('pengaduan', 'public'); } \App\Models\Layanan::create([ 'penghuni_id' => $penghuni->id, 'tanggal_pengaduan' => now(), 'kategori_masalah' => $request->kategori_masalah, 'deskripsi' => $request->deskripsi, 'foto' => $fotoPath, 'status' => 'diajukan' ]); return redirect()->route('user.layanan.status') ->with('success', 'Pengaduan berhasil dikirim!'); } public function status() { $penghuni = Penghuni::where('email', Auth::user()->email)->firstOrFail(); if (!$penghuni) { return back()->with('error', 'Data penghuni tidak ditemukan!'); } $layanan = Layanan::where('penghuni_id', $penghuni->id) ->latest() ->get(); return view('user.layanan.status', compact('layanan')); } }