簡體   English   中英

如何為當前行或 ID 更新 select 選項數據表 laravel

[英]How to update select option datatable laravel for current row or id

我有更新所選選項的問題。數據庫可以更新,但它會更新所有數據。我只想更新當前行

javascript:

$(document).ready(function () {
    $('#table_refund').on('change' ,'select', function() {

    var data= $(this).closest('tr');    
    var status = $('option:selected',this).val();
 
    alert(status);
   
     $.ajax({
      type: "get",
      url: "/financial/approve/refund",
      
      data: {status: status },
      dataType: "JSON",
      success: function (response) {
        $('.alert').show();
        
      }
    });
});

controller:

 public function studentrefund(Request $req)
 {
    //update table 

    data = Refund::find($req->userid);
    $data->status = $req->status;
    $data->save();
    return response()->json(['success'=>'Saved successfully.']);
 }
  

您需要檢查特定的 ID 和該用戶 ID,以便獲得當前行。

Controller::

  public function studentrefund(Request $req)
  {
    //update table 

    $data = Refund::where('id',$req->id)->where('userid',$req->userid)->first();
    $data->status = $req->status;
    $data->save();
    return response()->json(['success'=>'Saved successfully.']);
 }

您可以使用 fundOrFail 的 findOrFail 和 firstOrFail 方法來檢索查詢的第一個結果。 但是,如果沒有找到結果,則會拋出 Illuminate\Database\Eloquent\ModelNotFoundException laravel.com/docs/5.1/eloquent#retrieving-single-models

public function studentrefund(Request $req)
{
  //validate user id

  request()->validate([
    'userid' => 'required',
   ]);

  //update table 
  

  $data = Refund::findOrFail($req->userid);
  $data->status = $req->status;
  $data->save();
  return response()->json(['success'=>'Saved successfully.']);
}

選項:

<select id="table_refund">
    <option data-id="{{ $row->id }}" value="Aktive">Test Data</option>
</select>

Jquery:

$(document).ready(function() {
    $('#table_refund').on('change', 'select', function() {

        var id = $(this).data('id');
        var status = $('option:selected', this).val();

        $.ajax({
            type: "POST",
            url: "{{ url('financial/approve/refund') }}",
            data: {
                "id": id,
                "status": status,
            },
            dataType: "JSON",
            success: function(response) {
                $('.alert').show();

            }
        });
    });

Controller:

public function studentrefund(Request $request)
{

    $data = Refund::findOrFail($request->id);
    $data->status = $request->status;
    $data->save();

    return response()->json(['success'=>'Saved successfully.']);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM