如何在laravel控制器中更新数组?

时间:2020-03-10 06:06:50

标签: php laravel

如何在Laravel中使用数组进行更新? 如何在Laravel控制器中更新数组? 数据更新期间发生错误 我已经显示了视图和控制器

需要他的帮助

控制器

public function update_pesanan(Request $request,$id)
{
    DB::table('tbl_pesanan as a')
    ->where('a.id_paket', $id)
    ->update([
    'harga_satuan' => $request->harga_satuan
     ]);
    return redirect ()->back()->with('success','Berhasil Menambahkan Penawaran!');
}

视图

<form action="/update_pesanan/{{ $p->id_paket }}" method="post">
                {{ csrf_field() }}
<table class="table">
  <thead>
    <tr>
      <th style="text-align: center; width: 20px;">Kode BMN</th>
      <th style="text-align: center; width: 15px;">Nama Barang</th>
      <th style="text-align: center; width: 5px;">Kuantitas</th>
      <th style="text-align: center; width: 5px;">Satuan Ukuran</th>
      <th style="text-align: center; width: 20px;">Kode Unit</th>
      <th style="text-align: center; width: 5px;">Harga Satuan</th>
    </tr>

  </thead>
  @foreach($pesanan as $key => $p)
  <tbody>
    <tr id="addRow" >
      <td class="col-xs-3" style="text-align: center;">{{$p->kode_bmn}}
      </td>

      <td class="col-xs-3" style="text-align: center;">{{$p->jenis_barang}}
      </td>
      <td class="col-xs-5" style="text-align: center;">{{$p->kuantitas}}
      </td>
      <td class="col-xs-5" style="text-align: center;">{{$p->satuan_ukuran}}
      </td>
      <td class="col-xs-5" style="text-align: center;">{{$p->kode_ruang}}
      </td>
      <td class="col-xs-3">
        <input class="form-control " name="harga_satuan[$key] " type="text" placeholder="Enter title" />
      </td>
    </tr>
  </tbody>
  @endforeach
</table>
  <div class="col-md-1 pull-right"><br><br>
    <button class="btn btn-primary pull-right">Save</button>
  </div>
</form>

enter image description here

请帮助我

enter image description here

2 个答案:

答案 0 :(得分:1)

希望这对您有帮助...

控制器:

public function update_pesanan(Request $request)
{
    $update_id= $request->input('update_id');
    $harga_satuan = $request->input('harga_satuan');

    for($i=0; $i < count($harga_satuan); $i++) {
      DB::table('tbl_pesanan as a')
      ->where('a.id_paket', $update_id[$i])
      ->update([
          'harga_satuan' => $harga_satuan[$i]
      ]);
    }
    return redirect ()->back()->with('success','Berhasil Menambahkan Penawaran!');
}

查看:

    <input class="form-control " name="harga_satuan[$key] " type="text" placeholder="Enter title" />

    <input class="form-control " name="update_id[$key] " type="hidden" value="{{ $p->id_paket }}" />

答案 1 :(得分:0)

尝试使用 json_encode(),当您重复使用保存的数据时,必须使用 json_decode()

进行解码
DB::table('tbl_pesanan as a')
    ->where('a.id_paket', $id)
    ->update([
    'harga_satuan' => json_encode($request->harga_satuan)
     ]);