79 lines
2.5 KiB
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);
|
|
}
|
|
}
|
|
} |