MIF_E31212366/app/Http/Controllers/KecamatanController.php

79 lines
2.5 KiB
PHP

<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Models\Kecamatan;
class KecamatanController extends Controller
{
public function index()
{
$dataKecamatan = Kecamatan::all();
return view('kecamatan', compact('dataKecamatan'));
}
public function create()
{
return view('pages.tables.kecamatan');
}
public function store(Request $request)
{
$request->validate([
'nama_kecamatan' => 'required|string|max:255',
'jumlah_penduduk' => 'required|numeric',
'longitude' => 'required|numeric',
'latitude' => 'required|numeric',
]);
Kecamatan::create([
'nama_kecamatan' => $request->nama_kecamatan,
'jumlah_penduduk' => $request->jumlah_penduduk,
'longitude' => $request->longitude,
'latitude' => $request->latitude,
]);
return redirect()->route('kecamatan.index')->with('success', 'Kecamatan berhasil ditambahkan.');
}
public function update(Request $request, $id)
{
// Temukan objek Kecamatan berdasarkan ID
$kecamatan = Kecamatan::find($id);
$request->validate([
'nama_kecamatan' => 'sometimes|required|string|max:255',
'jumlah_penduduk' => 'sometimes|required|numeric',
'longitude' => 'sometimes|required|numeric',
'latitude' => 'sometimes|required|numeric',
]);
if ($kecamatan) {
// Memperbarui bidang-bidang yang ada dalam permintaan
if ($request->has('nama_kecamatan')) {
$kecamatan->nama_kecamatan = $request->nama_kecamatan;
}
if ($request->has('jumlah_penduduk')) {
$kecamatan->jumlah_penduduk = $request->jumlah_penduduk;
}
if ($request->has('longitude')) {
$kecamatan->longitude = $request->longitude;
}
if ($request->has('latitude')) {
$kecamatan->latitude = $request->latitude;
}
// Menyimpan perubahan
$kecamatan->save();
// return response()->json(['message' => 'Data kecamatan berhasil diperbarui.']);
return redirect()->route('kecamatan.index')->with('success', 'Kecamatan berhasil ditambahkan.');
} else {
return redirect()->route('kecamatan.index')->with('error', 'Data kecamatan tidak ditemukan.');
// return response()->json(['error' => 'Data kecamatan tidak ditemukan.'], 404);
}
}
}