113 lines
4.2 KiB
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!');
|
|
}
|
|
} |