TIF_E41202317/app/Http/Controllers/AdminController.php

113 lines
4.2 KiB
PHP

<?php
namespace App\Http\Controllers;
use App\Models\siswa;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Log;
class AdminController extends Controller
{
public function index()
{
$siswa = Siswa::orderBy('nama', 'asc')
->orderBy('id', 'asc') // Cari by id dan nama
->get();
return view('admin.index', compact('siswa'));
}
public function add()
{
return view('admin.insert');
}
public function insert_siswa(Request $request)
{
Log::info('Request data:', $request->all());
$request->validate([
'nisn' => 'required|numeric|digits:10|unique:siswa',
'nama' => 'required',
'kelas' => 'required|in:Kelas 7,Kelas 8,Kelas 9',
'alamat' => 'required',
'pengetahuan' => 'required',
'keterampilan' => 'required',
'sikap' => 'required',
'kehadiran' => 'required',
], [
'nisn.required' => 'NISN wajib diisi',
'nisn.numeric' => 'NISN wajib dengan angka',
'nisn.digits' => 'Isi NISN dengan 10 digit',
'nisn.unique' => 'NISN sudah terdaftar',
'nama.required' => 'Nama wajib diisi',
'kelas.required' => 'Kelas wajib diisi',
'kelas.in' => 'Kelas harus salah satu dari: Kelas 7, Kelas 8, Kelas 9',
'alamat.required' => 'Alamat wajib diisi',
'pengetahuan.required' => 'Nilai pengetahuan wajib diisi',
'keterampilan.required' => 'Nilai keterampilan wajib diisi',
'sikap.required' => 'Nilai sikap wajib diisi',
'kehadiran.required' => 'Nilai kehadiran wajib diisi',
]);
siswa::create([
'nisn' => $request->nisn,
'nama' => $request->nama,
'kelas' => $request->kelas,
'alamat' => $request->alamat,
'pengetahuan' => $request->pengetahuan,
'keterampilan' => $request->keterampilan,
'sikap' => $request->sikap,
'kehadiran' => $request->kehadiran,
]);
return redirect()->route('admin')->with('message', 'Berhasil menambahkan data!');
// dd($request->all());
}
public function edit($id)
{
$siswa = Siswa::findOrFail($id); // Ambil data siswa berdasarkan ID
return view('admin.edit', compact('siswa'));
}
public function update(Request $request, $id)
{
$siswa = Siswa::findOrFail($id);
$request->validate([
'nisn' => 'required|numeric|digits:10|unique:siswa',
'nama' => 'required',
'kelas' => 'required|in:Kelas 7,Kelas 8,Kelas 9',
'alamat' => 'required',
'pengetahuan' => 'required',
'keterampilan' => 'required',
'sikap' => 'required',
'kehadiran' => 'required',
], [
'nisn.required' => 'NISN wajib diisi',
'nisn.numeric' => 'NISN wajib dengan angka',
'nisn.digits' => 'Isi NISN dengan 10 digit',
'nisn.unique' => 'NISN sudah terdaftar',
'nama.required' => 'Nama wajib diisi',
'kelas.required' => 'Kelas wajib diisi',
'kelas.in' => 'Kelas harus salah satu dari: Kelas 7, Kelas 8, Kelas 9',
'alamat.required' => 'Alamat wajib diisi',
'pengetahuan.required' => 'Nilai pengetahuan wajib diisi',
'keterampilan.required' => 'Nilai keterampilan wajib diisi',
'sikap.required' => 'Nilai sikap wajib diisi',
'kehadiran.required' => 'Nilai kehadiran wajib diisi',
]);
$siswa->update($request->all());
return redirect()->route('admin')->with('message', 'Berhasil mengupdate data!');
}
public function delete($id)
{
$siswa = Siswa::findOrFail($id);
$siswa->delete();
return redirect()->route('admin')->with('message', 'Berhasil menghapus data!');
}
}