so, I have a form in which there is a dropdown with a data source from another model/table. to retrieve that data, I use foreach. there seems to be no problem during the insert process, but during the update process, there are 2 foreach, after I tried, the dropdown with the new foreach was not updated.
this is my view
@foreach ($rtu as $data)
<div class="modal fade" id="editrtu{{$data->id_rtu}}">
<div class="modal-dialog modal-lg-6">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="editrtuModal">Update Server</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">
<form action="/rtu/update/{{$data->id_rtu}}" method="POST" enctype="multipart/form-data">
@csrf
<div class="content">
<div class="row">
<div class="col-sm-12">
<div class="form-group">
<input name="lok" type="text" placeholder="Lokasi" class="form-control @error('lok') is-invalid @enderror" value="{{ $data->lok }}">
<div class="invalid-feedback">
@error('lok')
{{ $message }}
@enderror
</div>
</div>
<div class="form-group">
<select name="jenis" type="text" placeholder="Jenis" class="form-control @error('jenis') is-invalid @enderror" value="{{ $data->jenis }}">
<option value="{{ $data->jenis }}">{{ $data->jenis }}</option>
<option value="Gardu Induk">Gardu Induk</option>
<option value="Gardu Hubung">Gardu Hubung</option>
</select>
<div class="invalid-feedback">
@error('jenis')
{{ $message }}
@enderror
</div>
</div>
<div class="form-group">
<select name="id_up3" id="id_up3" type="text" class="form-control @error('id_up3') is-invalid @enderror" value="{{ $data->id_up3 }}">
<option value="{{ $data->id_up3 }}">{{ $data->up3 }}</option>
@foreach ($up3 as $item)
<option value="{{ $data->id_up3 }}">{{ $item->up3 }}</option>
@endforeach
</select>
<div class="invalid-feedback">
@error('id_up3')
{{ $message }}
@enderror
</div>
</div>
<div class="form-group">
<select name="medkom" type="text" placeholder="Medkom" class="form-control @error('medkom') is-invalid @enderror" value="{{ $data->medkom }}">
<option value="{{ $data->medkom }}">{{ $data->medkom }}</option>
<option value="Fiber Optic">Fiber Optic</option>
<option value="Modem">Modem</option>
<option value="Modem & FO">Modem & FO</option>
</select>
<div class="invalid-feedback">
@error('medkom')
{{ $message }}
@enderror
</div>
</div>
<div class="form-group">
<input name="gtw_icon" type="text" placeholder="Gtw Icon" class="form-control @error('gtw_icon') is-invalid @enderror" value="{{ $data->gtw_icon }}">
<div class="invalid-feedback">
@error('gtw_icon')
{{ $message }}
@enderror
</div>
</div>
<div class="form-group">
<input name="gtw_modem" type="text" placeholder="Gtw Modem" class="form-control @error('gtw_modem') is-invalid @enderror" value="{{ $data->gtw_modem }}">
<div class="invalid-feedback">
@error('gtw_modem')
{{ $message }}
@enderror
</div>
</div>
<div class="form-group">
<input name="ip_rtu" type="text" placeholder="IP RTU" class="form-control @error('ip_rtu') is-invalid @enderror" value="{{ $data->ip_rtu }}">
<div class="invalid-feedback">
@error('ip_rtu')
{{ $message }}
@enderror
</div>
</div>
<div class="form-group">
<select name="merk_rtu" type="text" placeholder="Merk RTU" class="form-control @error('merk_rtu') is-invalid @enderror" value="{{ $data->merk_rtu }}">
<option value="{{ $data->merk_rtu }}">{{ $data->merk_rtu }}</option>
<option value="Micom C264">Micom C264</option>
<option value="Broderson">Broderson</option>
<option value="Intek">Intek</option>
<option value="SAE">SAE</option>
</select>
<div class="invalid-feedback">
@error('merk_rtu')
{{ $message }}
@enderror
</div>
</div>
<div class="form-group">
<label>Operasi</label>
<input name="tgl_op" type="date" class="form-control @error('tgl_op') is-invalid @enderror" value="{{ $data->tgl_op }}">
<div class="invalid-feedback">
@error('tgl_op')
{{ $message }}
@enderror
</div>
</div>
<div class="form-group">
<input name="koordinat" type="text" placeholder="Koordinat" class="form-control @error('koordinat') is-invalid @enderror" value="{{ $data->koordinat }}">
<div class="invalid-feedback">
@error('koordinat')
{{ $message }}
@enderror
</div>
</div>
<div class="form-group">
<select name="status" type="text" placeholder="Status" class="form-control @error('status') is-invalid @enderror" value="{{ $data->status }}">
<option value="{{ $data->status }}">{{ $data->status }}</option>
<option value="Sudah Integrasi">Sudah Integrasi</option>
<option value="Belum Integrasi">Belum Integrasi</option>
</select>
<div class="invalid-feedback">
@error('status')
{{ $message }}
@enderror
</div>
</div>
<div class="form-group">
<select name="backup_ps" type="text" placeholder="Backup Ps" class="form-control @error('backup_ps') is-invalid @enderror" value="{{ $data->backup_ps }}">
<option value="{{ $data->backup_ps }}">{{ $data->backup_ps }}</option>
<option value="UPS">UPS</option>
<option value="Rectifier 48">Rectifier 48</option>
</select>
<div class="invalid-feedback">
@error('backup_ps')
{{ $message }}
@enderror
</div>
</div>
<div class="form-group">
<select name="merk_ps" type="text" placeholder="Merk Ps" class="form-control @error('merk_ps') is-invalid @enderror" value="{{ $data->merk_ps }}">
<option value="{{ $data->merk_ps }}">{{ $data->merk_ps }}</option>
<option value="APC">APC</option>
<option value="Swaden">Swaden</option>
<option value="Enermild">Enermild</option>
</select>
<div class="invalid-feedback">
@error('merk_ps')
{{ $message }}
@enderror
</div>
</div>
<div class="form-group">
<input name="ket" type="text" placeholder="Keterangan" class="form-control @error('ket') is-invalid @enderror" value="{{ $data->ket }}">
<div class="invalid-feedback">
@error('ket')
{{ $message }}
@enderror
</div>
</div>
</div>
</div>
</div>
<div class="modal-footer">
<button type="submit" class="btn btn-primary">Update</button>
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
</div>
</form>
</div>
</div>
</div>
</div>
@endforeach
and my controller
public function __construct()
{
$this->middleware('auth');
$this->RtuModel = new RtuModel();
$this->Up3Model = new Up3Model();
}
public function rtu()
{
$up3 = Up3Model::get(['up3', 'id_up3']);
$rtu = $this->RtuModel->allData();
return view('v_rtu', compact('up3', 'rtu'));
}
public function update($id_rtu)
{
Request()->validate(
[
'lok' => 'required',
'jenis' => 'required',
'id_up3' => 'required',
'medkom' => 'required',
'merk_rtu' => 'required',
'tgl_op' => 'required',
'koordinat' => 'required',
'status' => 'required',
'backup_ps' => 'required',
'merk_ps' => 'required'
],
[
'lok.required' => 'Lokasi Gardu Wajib di Isi',
'jenis.required' => 'Jenis Wajib di Isi',
'id_up3.required' => 'Up3 Wajib di Isi',
'medkom.unique' => 'Medkom Wajib di Isi',
'merk_rtu.unique' => 'Merk RTU Sudah Ada',
'tgl_op.unique' => 'Tanggal Operasi Wajib di Isi',
'koordinat.unique' => 'Koordinat Wajib di Isi',
'status.unique' => 'Status Scada Wajib di Isi',
'backup_ps.unique' => 'Backup PS Wajib di Isi',
'merk_ps.unique' => 'Merk PS Wajib di Isi'
]
);
$data = [
'lok' => Request()->lok,
'jenis' => Request()->jenis,
'id_up3' => Request()->id_up3,
'medkom' => Request()->medkom,
'gtw_icon' => Request()->gtw_icon,
'gtw_modem' => Request()->gtw_modem,
'ip_rtu' => Request()->ip_rtu,
'merk_rtu' => Request()->merk_rtu,
'tgl_op' => Request()->tgl_op,
'koordinat' => Request()->koordinat,
'status' => Request()->status,
'backup_ps' => Request()->backup_ps,
'merk_ps' => Request()->merk_ps,
'ket' => Request()->ket
];
$this->RtuModel->editData($id_rtu, $data);
return redirect()->route('rtu')->with('pesan', 'Data Berhasil Di Update !!!');
}
model
public function editData($id_rtu, $data)
{
DB::table('rtu')
->where('id_rtu', $id_rtu)
->update($data);
}
routes
Route::post('/rtu/update/{id_rtu}', [App\Http\Controllers\RtuController::class, 'update']);
how can i solve this, thank you all for your time and help, it really impresses me