user(); $provinsis = Province::all(); $kotas = $user->provinsi_code ? City::where('province_code', $user->provinsi_code)->get() : []; $kecamatans = $user->kota_code ? District::where('city_code', $user->kota_code)->get() : []; $desas = $user->kecamatan_code ? Village::where('district_code', $user->kecamatan_code)->get() : []; return view('petani.profile', compact('user', 'provinsis', 'kotas', 'kecamatans', 'desas')); } public function updatePetani(Request $request) { $user = Auth::guard('petani')->user(); $request->validate([ 'nama_lengkap' => 'required|string|max:255', 'email' => 'required|email|unique:petanis,email,' . $user->id, 'password' => 'nullable|min:6|confirmed', 'foto' => 'nullable|image|max:2048', 'provinsi_code' => 'required', 'alamat' => 'required|string', 'kota_code' => 'required', 'kecamatan_code' => 'required', 'desa_code' => 'required', 'link_maps' => 'nullable|url', ]); $user->nama_lengkap = $request->nama_lengkap; $user->email = $request->email; $user->provinsi_code = $request->provinsi_code; $user->alamat = $request->alamat; $user->kota_code = $request->kota_code; $user->kecamatan_code = $request->kecamatan_code; $user->desa_code = $request->desa_code; $user->link_maps = $request->link_maps; if ($request->filled('password')) { $user->password = Hash::make($request->password); } if ($request->hasFile('foto')) { if ($user->foto && Storage::exists('public/' . $user->foto)) { Storage::delete('public/' . $user->foto); } $user->foto = $request->file('foto')->store('avatars', 'public'); } $user->save(); return back()->with('success', 'Profil dan Lokasi berhasil diperbarui!'); } // --- FITUR PEMBELI --- public function editPembeli() { $user = Auth::guard('pembeli')->user(); return view('landing.profile', compact('user')); } public function updatePembeli(Request $request) { $user = Auth::guard('pembeli')->user(); $request->validate([ 'nama_lengkap' => 'required|string|max:255', 'email' => 'required|email|unique:pembelis,email,' . $user->id, 'no_hp' => 'required|string', 'alamat' => 'required|string', 'password' => 'nullable|min:6|confirmed', 'foto' => 'nullable|image|max:2048' ]); $user->nama_lengkap = $request->nama_lengkap; $user->email = $request->email; $user->no_hp = $request->no_hp; $user->alamat = $request->alamat; if ($request->filled('password')) { $user->password = Hash::make($request->password); } if ($request->hasFile('foto')) { if ($user->foto && Storage::exists('public/' . $user->foto)) { Storage::delete('public/' . $user->foto); } $path = $request->file('foto')->store('avatars', 'public'); $user->foto = $path; } $user->save(); return back()->with('success', 'Profil berhasil diperbarui!'); } }