TIF_E41201209/Siketas_map_FIX/app/Http/Controllers/RulesController.php

135 lines
3.6 KiB
PHP

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