MIF_E31210701/app/Http/Controllers/DetailSiswaController.php

141 lines
4.6 KiB
PHP

<?php
namespace App\Http\Controllers;
use App\Models\Siswa;
use App\Models\Kriteria;
use App\Models\DetailSiswa;
use Illuminate\Http\Request;
use App\Models\NilaiKepentingan;
class DetailSiswaController extends Controller
{
public function index($id)
{
$siswa = Siswa::find($id);
$kriteria = Kriteria::All();
$kriteria2 = Kriteria::All();
$nilai_kepentingan = NilaiKepentingan::All();
$nilai_kepentingan2 = NilaiKepentingan::All();
$detail_siswa = DetailSiswa::where('id_siswa', $id)->get();
return view('admin.pages.detail-siswa', [
'id_siswa' => $id,
'detail_siswa' => $detail_siswa,
'kriteria' => $kriteria,
'kriteria2' => $kriteria2,
'nilai_kepentingan' => $nilai_kepentingan,
'nilai_kepentingan2' => $nilai_kepentingan2,
'siswa' => $siswa,
]);
}
public function store(Request $request)
{
$this->validate($request, [
'nilai' => 'required',
'id_kriteria' => 'required',
// 'id_nilai_kepentingan' => 'required',
], [
'nilai.required' => 'Nilai tidak boleh kosong',
'id_kriteria.required' => 'Kriteria tidak boleh kosong',
'id_kriteria.unique' => 'Kriteria sudah ada',
'id_siswa.required' => 'Siswa tidak boleh kosong',
'id_nilai_kepentingan.required' => 'Nilai Kepentingan tidak boleh kosong',
]);
if ($request->nilai != '0') {
$nilai_siswa = $request->nilai;
// jika $nilai_siswa besar atau sama dengan 85> maka $id_nilai_kepentingan = 4
// jika $nilai_siswa diantara 80-84 maka $id_nilai_kepentingan = 3
// jika $nilai_siswa diantara 75-79 maka $id_nilai_kepentingan = 2
// jika $nilai_siswa kecil dari <75 maka $id_nilai_kepentingan = 1
if ($nilai_siswa >= 85) {
$id_nilai_kepentingan = 4;
} elseif ($nilai_siswa >= 80) {
$id_nilai_kepentingan = 3;
} elseif ($nilai_siswa >= 75) {
$id_nilai_kepentingan = 2;
} else {
$id_nilai_kepentingan = 1;
}
} else {
$nilai_siswa = 0;
$id_nilai_kepentingan = $request->id_nilai_kepentingan;
}
DetailSiswa::create([
'id_kriteria' => $request->id_kriteria,
'id_siswa' => $request->id_siswa,
'nilai' => $nilai_siswa,
'id_nilai_kepentingan' => $id_nilai_kepentingan,
]);
return redirect()->back()->with('store', 'Data Detail Siswa berhasil ditambahkan');
}
public function update(Request $request, $id)
{
$detail_siswa = DetailSiswa::find($id);
$this->validate($request, [
'nilai' => 'required',
'id_kriteria' => 'required',
// 'id_nilai_kepentingan' => 'required',
], [
'id_kriteria.required' => 'Kriteria tidak boleh kosong',
'id_kriteria.unique' => 'Kriteria sudah ada',
'id_siswa.required' => 'Siswa tidak boleh kosong',
'id_nilai_kepentingan.required' => 'Nilai Kepentingan tidak boleh kosong',
]);
if ($request->nilai != '0') {
$nilai_siswa = $request->nilai;
// jika $nilai_siswa besar atau sama dengan 85> maka $id_nilai_kepentingan = 4
// jika $nilai_siswa diantara 80-84 maka $id_nilai_kepentingan = 3
// jika $nilai_siswa diantara 75-79 maka $id_nilai_kepentingan = 2
// jika $nilai_siswa kecil dari <75 maka $id_nilai_kepentingan = 1
if ($nilai_siswa >= 85) {
$id_nilai_kepentingan = 4;
} elseif ($nilai_siswa >= 80) {
$id_nilai_kepentingan = 3;
} elseif ($nilai_siswa >= 75) {
$id_nilai_kepentingan = 2;
} else {
$id_nilai_kepentingan = 1;
}
} else {
$nilai_siswa = 0;
$id_nilai_kepentingan = $request->id_nilai_kepentingan;
}
$detail_siswa->update([
'id_kriteria' => $request->id_kriteria,
'id_siswa' => $request->id_siswa,
'nilai' => $nilai_siswa,
'id_nilai_kepentingan' => $id_nilai_kepentingan,
]);
return redirect()->back()->with('update', 'Data Detail Siswa berhasil diubah');
}
public function destroy($id)
{
$detail_siswa = DetailSiswa::find($id);
$detail_siswa->delete();
return redirect()->back()->with('destroy', 'Data Detail Siswa berhasil dihapus');
}
}