MIF_E31221225/app/Http/Controllers/Admin/MapelController.php

72 lines
2.0 KiB
PHP

<?php
namespace App\Http\Controllers\Admin;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use App\Models\Mapel;
use Illuminate\Support\Facades\Log;
class MapelController extends Controller
{
public function index()
{
$data = Mapel::all();
return view('admin.mapel.index', compact('data'))
->with('success', session('success'))
->withErrors(session('error'));
}
public function create()
{
return view('admin.mapel.create');
}
public function store(Request $request)
{
$request->validate([
'nama_mapel' => 'required'
]);
try {
Mapel::create($request->all());
return redirect()->route('admin.mapel.index')->with('success', 'Data berhasil ditambahkan.');
} catch (\Exception $e) {
Log::error('Gagal menambahkan mapel: ' . $e->getMessage());
return back()->withInput()->withErrors('Gagal menambahkan data.');
}
}
public function edit($id)
{
$mapel = Mapel::findOrFail($id);
return view('admin.mapel.edit', compact('mapel'));
}
public function update(Request $request, $id)
{
$request->validate([
'nama_mapel' => 'required'
]);
try {
Mapel::findOrFail($id)->update($request->all());
return redirect()->route('admin.mapel.index')->with('success', 'Data berhasil diupdate.');
} catch (\Exception $e) {
Log::error('Gagal mengupdate mapel: ' . $e->getMessage());
return back()->withInput()->withErrors('Gagal mengupdate data.');
}
}
public function destroy($id)
{
try {
Mapel::findOrFail($id)->delete();
return redirect()->route('admin.mapel.index')->with('success', 'Data berhasil dihapus.');
} catch (\Exception $e) {
Log::error('Gagal menghapus mapel: ' . $e->getMessage());
return redirect()->route('admin.mapel.index')->withErrors('Gagal menghapus data.');
}
}
}