MIF_E31221259/app/Http/Controllers/Admin/DataJurusanController.php

74 lines
2.0 KiB
PHP

<?php
namespace App\Http\Controllers\Admin;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use App\Models\Jurusan;
use Illuminate\Support\Str;
class DataJurusanController extends Controller
{
/**
* Tampilkan semua jurusan.
*/
public function index()
{
$jurusan = Jurusan::orderBy('id')->get();
return view('admin.datajurusan', compact('jurusan'));
}
public function store(Request $request)
{
$data = $request->validate([
'id' => 'required|string|size:4|unique:jurusan,id',
'nama' => 'required|string|max:255',
'slug' => 'required|string|max:255|unique:jurusan,slug',
'deskripsi' => 'nullable|string',
]);
Jurusan::create([
'id' => $data['id'],
'nama' => $data['nama'],
'slug' => Str::slug($data['slug']),
'deskripsi' => $data['deskripsi'] ?? null,
]);
return redirect()
->route('admin.datajurusan.index')
->with('success', 'Jurusan baru berhasil ditambahkan.');
}
public function update(Request $request, Jurusan $datajurusan)
{
$data = $request->validate([
'nama' => 'required|string|max:255',
'slug' => 'required|string|max:255|unique:jurusan,slug,' . $datajurusan->id . ',id',
'deskripsi' => 'nullable|string',
]);
$datajurusan->update([
'nama' => $data['nama'],
'slug' => Str::slug($data['slug']),
'deskripsi' => $data['deskripsi'] ?? null,
]);
return redirect()
->route('admin.datajurusan.index')
->with('success', 'Jurusan berhasil diperbarui.');
}
/**
* Hapus jurusan.
*/
public function destroy(Jurusan $datajurusan)
{
$datajurusan->delete();
return redirect()
->route('admin.datajurusan.index')
->with('success', 'Jurusan berhasil dihapus.');
}
}