TIF_E41201209/Siketas_map_FIX/app/Http/Controllers/KerawananController.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.',
]);
}
}
}