0

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">&times;</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

1
  • Can you please post a screenshot of what is happening Commented Mar 6 at 5:38

0

Browse other questions tagged or ask your own question.