2016-10-08 62 views
0

我一直在嘗試使用模態來創建和編輯Laravel中的條目。我使用簡單的模態而不是ajax。我可以添加條目,但是當我嘗試編輯條目時,它只會加載模式中的最後一個條目。Laravel模式只加載最後一項

這裏是我的索引(從那裏我打電話模態)

@foreach ($clients as $client) 
     <tr> 
     <td>{{ $client->name }}</td> 
     <td><button data-target="modal2" class="btn modal-trigger1"><a href="{{route('client.edit', $client->id)}}">Edit</a></button></td> 
     </tr> 
@endforeach 

下面是編輯文件(樣式文件)

<div id="modal2" class="modal"> 
    <div class="panel panel-default"> 
     <div class="modal-content"> 
      <p class="flow-text">Edit client</p> 
      <form class="form" role="form" method="POST" action="{{ url('/client/'. $client->id) }}"> 

       <input type="hidden" name="_method" value="patch"> 
       {!! csrf_field() !!} 

       <div class="form-group{{ $errors->has('name') ? ' has-error' : '' }}"> 
        <label class="control-label">Name</label> 
        <input type="text" class="form-control" name="name" value="{{ $client->name }}"> 
        @if ($errors->has('name')) 
         <span class="help-block"> 
         <strong>{{ $errors->first('name') }}</strong> 
        </span> 
        @endif 
       </div> 

      </form> 
     </div> 
    </div> 
</div> 

並在控制器編輯是

public function edit($id) 
    { 
     $clients = Client::findOrFail($id); 
     return view('client.edit', compact('clients')); 
    } 

它只加載表中的最後一個條目,而不是行中的條目ID。

我正在使用Laravel 5.3。請

回答

0

組數據幫助您編輯鏈接

@foreach ($clients as $client) 
    <tr> 
    <td>{{ $client->name }}</td> 
    <td><a href="#" class="edit-client-link" data-client-id="{{$client->id}}" data-client-name="{{$client->name}}">Edit</a></td> 
    </tr> 
@endforeach 

//在編輯按鈕,單擊獲取數據並設置數據模態

$(document).on('click', '.edit-city-link', function(){ 
    var client_id = $(this).data('client-id'); 
    var client_name = $(this).data('client-name'); 
    $('#client-id').val(client_id); 
    $('#client-name').val(client_name); 
    $('#edit-client-modal').modal('show'); 
}); 

//這是模態

<div id="modal2" class="modal"> 
    <div class="panel panel-default"> 
    <div class="modal-content"> 
     <p class="flow-text">Edit client</p> 
     <form id="edit-client-modal" class="form" role="form" method="POST" action="{{ url('/client/edit') }}"> 
     <input type="hidden" name="_method" value="patch"> 
     {!! csrf_field() !!} 
     <div class="form-group{{ $errors->has('name') ? ' has-error' : '' }}"> 
      <label class="control-label">Name</label> 
      <input id="client-id" type="hidden" class="form-control" name="client-id"> 
      <input id="client-name" type="text" class="form-control" name="name"> 
      @if ($errors->has('name')) 
       <span class="help-block"> 
       <strong>{{ $errors->first('name') }}</strong> 
      </span> 
      @endif 
     </div> 
     </form> 
    </div> 
    </div> 
</div> 

這是你的控制器方法

public function edit($request_data) 
{ 
    $obj_client = Client ::find($request_data['client-id']); 
    $obj_client = $request_data['client-name']; 
    $obj_client->save(); 
} 
+0

不工作,仍然會出現相同的錯誤。最後一項顯示 – Ahsan

+0

仍然無法工作? – Komal

+0

不工作... :( – Ahsan