get(); return view('admin.berita.index', compact('berita')); } // Form tambah berita public function create() { return view('admin.berita.create'); } // Simpan berita baru public function store(Request $request) { $validator = Validator::make($request->all(), [ 'judul_berita' => 'required|string|max:255', 'isi_berita' => 'required|string', 'tanggal_berita' => 'required|date', 'gambar_berita' => 'nullable|image|mimes:jpeg,png,jpg,gif|max:2048', ]); if ($validator->fails()) return redirect()->back()->withErrors($validator)->withInput(); $data = $request->only('judul_berita','isi_berita','tanggal_berita'); if ($request->hasFile('gambar_berita')) { $data['gambar_berita'] = $request->file('gambar_berita')->store('berita', 'public'); } Berita::create($data); return redirect()->route('admin.berita.index')->with('success','Berita berhasil ditambahkan.'); } // Form edit berita public function edit($id_berita) { $berita = Berita::findOrFail($id_berita); return view('admin.berita.edit', compact('berita')); } // Update berita public function update(Request $request, $id_berita) { $berita = Berita::findOrFail($id_berita); $validator = Validator::make($request->all(), [ 'judul_berita' => 'required|string|max:255', 'isi_berita' => 'required|string', 'tanggal_berita' => 'required|date', 'gambar_berita' => 'nullable|image|mimes:jpeg,png,jpg,gif|max:2048', ]); if ($validator->fails()) return redirect()->back()->withErrors($validator)->withInput(); $data = $request->only('judul_berita','isi_berita','tanggal_berita'); if ($request->hasFile('gambar_berita')) { if ($berita->gambar_berita) Storage::disk('public')->delete($berita->gambar_berita); $data['gambar_berita'] = $request->file('gambar_berita')->store('berita','public'); } $berita->update($data); return redirect()->route('admin.berita.index')->with('success','Berita berhasil diperbarui.'); } // Hapus berita public function destroy($id_berita) { $berita = Berita::findOrFail($id_berita); if ($berita->gambar_berita) Storage::disk('public')->delete($berita->gambar_berita); $berita->delete(); return redirect()->route('admin.berita.index')->with('success','Berita berhasil dihapus.'); } }