133 lines
3.6 KiB
PHP
133 lines
3.6 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers;
|
|
|
|
use Illuminate\Http\Request;
|
|
use App\Models\Kerawanan;
|
|
use Illuminate\Support\Facades\DB;
|
|
|
|
|
|
class KerawananController extends Controller
|
|
{
|
|
public function index()
|
|
{
|
|
//return dashbord
|
|
$kerawanan = Kerawanan::all();
|
|
// dd($rules);
|
|
return view('dashboard.kerawanan.index', ['kerawanan' => $kerawanan]);
|
|
}
|
|
|
|
public function create()
|
|
{
|
|
return view('dashboard.kerawanan.create');
|
|
}
|
|
public function store(Request $request)
|
|
{
|
|
$this->validate($request, [
|
|
'himpunan' => 'required',
|
|
'keanggotaan_awal' => 'required',
|
|
'keanggotaan_tengah' => '',
|
|
'keanggotaan_akhir' => 'required',
|
|
]);
|
|
|
|
//insert to table
|
|
$data = $request->all();
|
|
Kerawanan::create($data);
|
|
// dd($data);
|
|
|
|
if ($data) {
|
|
return redirect()
|
|
->route('kerawanan.index')
|
|
->with([
|
|
'success' => 'Data Kerawanan Berhasil Ditambahkan',
|
|
]);
|
|
} else {
|
|
return redirect()
|
|
->back()
|
|
->withInput()
|
|
->with([
|
|
'error' => 'Some problem has occured, please try again',
|
|
]);
|
|
}
|
|
}
|
|
|
|
public function edit($id)
|
|
{
|
|
$kerawanan = Kerawanan::findOrFail($id);
|
|
return view('dashboard.kerawanan.edit', ['kerawanan' => $kerawanan]);
|
|
}
|
|
|
|
public function update(Request $request, Kerawanan $kerawanan)
|
|
{
|
|
$this->validate($request, [
|
|
'himpunan' => 'required',
|
|
'keanggotaan_awal' => 'required',
|
|
'keanggotaan_tengah' => '',
|
|
'keanggotaan_akhir' => 'required',
|
|
]);
|
|
|
|
//insert to table
|
|
$data = $request->all();
|
|
// dd($data);
|
|
$kerawanan->update($data);
|
|
// dd($rule);
|
|
|
|
if ($kerawanan) {
|
|
return redirect()
|
|
->route('kerawanan.index')
|
|
->with([
|
|
'success' => 'Data Kerawanan Berhasil Diubah',
|
|
]);
|
|
} else {
|
|
return redirect()
|
|
->back()
|
|
->withInput()
|
|
->with([
|
|
'error' => 'Some problem has occured, please try again',
|
|
]);
|
|
}
|
|
}
|
|
|
|
|
|
public function destroy($id)
|
|
// {
|
|
// DB::table('rules')->where('id',$id)->delete();
|
|
|
|
// // alihkan halaman ke halaman
|
|
// return redirect()
|
|
// ->back()
|
|
// ->with([
|
|
// 'success' => 'Data Jalan Berhasil Dihapus',
|
|
// ]);
|
|
// // return redirect('/jalan');
|
|
// }
|
|
{
|
|
try {
|
|
DB::table('kerawanan')->where('id', $id)->delete();
|
|
|
|
// alihkan halaman ke halaman jalan dengan pesan sukses
|
|
return redirect()
|
|
->back()
|
|
->with([
|
|
'success' => 'Data Kerawanan Berhasil Dihapus',
|
|
]);
|
|
} catch (\Illuminate\Database\QueryException $e) {
|
|
if ($e->getCode() == '23000') {
|
|
// Integrity constraint violation
|
|
return redirect()
|
|
->back()
|
|
->with([
|
|
'error' => 'Data kerawanan tidak dapat dihapus karena terkait dengan data kecelakaan.',
|
|
]);
|
|
}
|
|
|
|
// Tangani pengecualian lainnya
|
|
return redirect()
|
|
->back()
|
|
->with([
|
|
'warning' => 'Terjadi kesalahan saat menghapus data kerawanan.',
|
|
]);
|
|
}
|
|
}
|
|
}
|