Update fitur update Curas dan Curanmor

This commit is contained in:
daffarahman11 2025-03-25 13:38:42 +07:00
parent 319f3ca1ff
commit 48850420c1
4 changed files with 98 additions and 36 deletions

View File

@ -6,6 +6,7 @@
use App\Models\Curanmor; use App\Models\Curanmor;
use App\Models\Kecamatan; use App\Models\Kecamatan;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use Illuminate\Validation\Rule;
class CuranmorController extends Controller class CuranmorController extends Controller
{ {
@ -77,7 +78,30 @@ public function edit($curanmor)
*/ */
public function update(Request $request, Curanmor $curanmor) public function update(Request $request, Curanmor $curanmor)
{ {
// try {
// Validasi input
$request->validate([
'kecamatan_id' => [
'required',
'exists:kecamatans,id',
Rule::unique('curanmors')->ignore($curanmor->id),
],
'klaster_id' => 'required|exists:klasters,id',
'jumlah_curanmor' => 'required|integer|min:0',
]);
// Update data
$curanmor->update([
'kecamatan_id' => $request->kecamatan_id,
'klaster_id' => $request->klaster_id,
'jumlah_curanmor' => $request->jumlah_curanmor,
]);
return redirect('/curanmor')->with('succes', 'Data Kecamatan Berhasil Diubah');
} catch (\Exception $e) {
return redirect('/curanmor')->with('error', 'Data Kecamatan Gagal Diubah: ' . $e->getMessage());
}
} }
/** /**
@ -85,14 +109,22 @@ public function update(Request $request, Curanmor $curanmor)
*/ */
public function destroy($curanmor) public function destroy($curanmor)
{ {
try{ try {
// Cari data berdasarkan ID
$hapus = Curanmor::find($curanmor); $hapus = Curanmor::find($curanmor);
Curanmor::destroy($hapus);
return redirect('/curanmor')->with('succes', 'Data Curanmor Berhasil Di Hapus');
}catch (\Exception $e){ // Pastikan data ditemukan sebelum menghapus
if (!$hapus) {
return redirect('/curanmor')->with('error', 'Data tidak ditemukan.');
}
return redirect('/curanmor')->with('error', 'Data Curanmor '. $curanmor->nama_kecamatan .' Gagal Di Hapus'); // Hapus data
$hapus->delete();
return redirect('/curanmor')->with('succes', 'Data Curanmor Berhasil Dihapus');
} catch (\Exception $e) {
return redirect('/curanmor')->with('error', 'Terjadi kesalahan: ' . $e->getMessage());
} }
} }
} }

View File

@ -78,25 +78,39 @@ public function edit($curas)
/** /**
* Update the specified resource in storage. * Update the specified resource in storage.
*/ */
public function update(Request $request, Curas $curas) public function update(Request $request, $id)
{ {
try { try {
$validateData = $request->validate([ // Cari data berdasarkan ID yang dikirim
'kecamatan_id' => 'sometimes|required|max:255' . $curas->kecamatan_id, $curas = Curas::findOrFail($id);
'jumlah_curas' => 'sometimes|required|integer',
'klaster_id' => 'sometimes|required|max:255' . $curas->klaster_id, // Debugging untuk memastikan data ditemukan
// dd($curas->toArray()); // Jika berhasil, ini akan menampilkan data curas
// Validasi input
$request->validate([
'kecamatan_id' => [
'required',
'exists:kecamatans,id',
Rule::unique('curas')->ignore($curas->id),
],
'klaster_id' => 'required|exists:klasters,id',
'jumlah_curas' => 'required|integer|min:0',
]); ]);
// Pastikan hanya field yang diisi yang akan diperbarui // Update data
$curas->update(array_filter($validateData)); $curas->update([
'kecamatan_id' => $request->kecamatan_id,
'klaster_id' => $request->klaster_id,
'jumlah_curas' => $request->jumlah_curas,
]);
return redirect('/curas')->with('succes', 'Data Kecamatan Berhasil Diubah'); return redirect('/curas')->with('succes', 'Data Kecamatan Berhasil Diubah');
} catch (\Exception $e) { } catch (\Exception $e) {
return redirect('/curas')->with('error', 'Data Kecamatan Gagal Diubah: ' . $e->getMessage());
return redirect('/curas')->with('error', 'Data Kecamatan Gagal Diubah');
} }
} }
@ -106,15 +120,23 @@ public function update(Request $request, Curas $curas)
*/ */
public function destroy($curas) public function destroy($curas)
{ {
try{ try {
// Cari data berdasarkan ID
$hapus = Curas::find($curas); $hapus = Curas::find($curas);
Curas::destroy($hapus);
return redirect('/curas')->with('succes', 'Data Curas Berhasil Di Hapus');
}catch (\Exception $e){ // Pastikan data ditemukan sebelum menghapus
if (!$hapus) {
return redirect('/curas')->with('error', 'Data tidak ditemukan.');
}
return dd($e); // Hapus data
// redirect('/curas')->with('error', 'Data Curas '. $curas->nama_kecamatan .' Gagal Di Hapus | Hapus Data Curas Atau Curanmor Untuk Klaster '. $curas->nama_kecamatan.' Terlebih Dahulu'); $hapus->delete();
return redirect('/curas')->with('succes', 'Data Curas Berhasil Dihapus');
} catch (\Exception $e) {
return redirect('/curas')->with('error', 'Terjadi kesalahan: ' . $e->getMessage());
} }
} }
} }

View File

@ -18,16 +18,13 @@
<div class="col-md-12"> <div class="col-md-12">
<div class="form-group"> <div class="form-group">
<label>Nama Kecamatan *</label> <label>Nama Kecamatan *</label>
<select class="selectpicker form-control" data-style="py-0" id="kecamatan_id" name="kecamatan_id"> <input type="text" class="form-control" placeholder="Nama Kecamatan"
<option value="" selected disabled> Pilih Kecamatan </option> id="nama_kecamatan" name="nama_kecamatan"
@foreach ( $kecamatans as $kecamatan ) value="{{ $curanmor->punyaKecamatanCuranmor->nama_kecamatan }}"
<option value="{{ $kecamatan->id }}" readonly>
{{ old('kecamatan_id', $curanmor->kecamatan_id) == $kecamatan->id ? 'selected' : '' }}>
{{ $kecamatan->nama_kecamatan }} <!-- Input hidden untuk mengirim ID kecamatan -->
</option> <input type="hidden" name="kecamatan_id" value="{{ $curanmor->kecamatan_id }}">
@endforeach
</select>
</div> </div>
</div> </div>
<div class="col-md-6"> <div class="col-md-6">

View File

@ -17,7 +17,18 @@
<div class="row"> <div class="row">
<div class="col-md-12"> <div class="col-md-12">
<div class="form-group"> <div class="form-group">
<label>Nama Kecamatan *</label> <label>Nama Kecamatan *</label>
<input type="text" class="form-control" placeholder="Nama Kecamatan"
id="nama_kecamatan" name="nama_kecamatan"
value="{{ $curas->punyaKecamatanCuras->nama_kecamatan }}"
readonly>
<!-- Input hidden untuk mengirim ID kecamatan -->
<input type="hidden" name="kecamatan_id" value="{{ $curas->kecamatan_id }}">
{{-- <label>Nama Kecamatan *</label>
<select class="selectpicker form-control" data-style="py-0" id="kecamatan_id" name="kecamatan_id"> <select class="selectpicker form-control" data-style="py-0" id="kecamatan_id" name="kecamatan_id">
<option value="" selected disabled> Pilih Kecamatan </option> <option value="" selected disabled> Pilih Kecamatan </option>
@foreach ( $kecamatans as $kecamatan ) @foreach ( $kecamatans as $kecamatan )
@ -27,7 +38,7 @@
</option> </option>
@endforeach @endforeach
</select> </select> --}}
</div> </div>
</div> </div>
<div class="col-md-6"> <div class="col-md-6">
@ -49,7 +60,7 @@
</div> </div>
</div> </div>
</div> </div>
<button type="submit" class="btn btn-primary mr-2">Tambah Data Kasus Curas</button> <button type="submit" class="btn btn-primary mr-2">Ubah Data Kasus Curas</button>
<button type="reset" class="btn btn-danger">Reset</button> <button type="reset" class="btn btn-danger">Reset</button>
</form> </form>
</div> </div>