2017-02-21 227 views
1

我正在使用RESTful資源控制器並且更新功能無法正常工作。laravel控制器更新不起作用

如果產生這樣的鏈接,並沒有任何反應 http://localhost:8000/medication/3?_token=Sv0mblJUcWppsO6roWiXOzZzcFOqlgMBIzJoy3HW&medicine=a&dosage=a&howOften=aaa&forWhat=a&doctor=a&vaccination=a&shots=a

我的視圖代碼(僅用於測試)是

  <div class="modal-header"> 
       <button type="button" class="close" data-dismiss="modal" aria-hidden="true"> 
       <span class="glyphicon glyphicon-remove" aria-hidden="true"></span> 
       </button> 
       <h4 class="modal-title custom_align" id="Heading">Edit Your Medication</h4> 
      </div> 

      <form role="form" action="/medication/3" method="PUT" class="f1"> 
      {{ csrf_field() }} 
      <div class="modal-body"> 

       <div class="form-group"> 
        <input type="text" name="medicine" class="form-control" placeholder="Medicine"> 
       </div> 
       <div class="form-group"> 
        <input type="text" name="dosage" class="form-control" placeholder="Dosage"> 
       </div> 
       <div class="form-group"> 
        <input type="text" name="howOften" class="form-control" placeholder="How often do I take it"> 
       </div> 
       <div class="form-group"> 
        <input type="text" name="forWhat" class="form-control" placeholder="what it is for?"> 
       </div> 
       <div class="form-group"> 
        <input type="text" name="doctor" class="form-control" placeholder="Prescribing Doctor"> 
       </div> 
       <div class="form-group"> 
        <input type="text" name="vaccination" class="form-control" placeholder="Vaccination"> 
       </div> 
       <div class="form-group"> 
        <input type="text" name="shots" class="form-control" placeholder="Shots"> 
       </div> 
      </div> 

      <div class="modal-footer "> 
       <button type="submit" class="btn btn-success btn-lg btn-update" style="width: 100%;"><span class="glyphicon glyphicon-ok-sign"></span> Update</button> 
      </div> 
      </form> 

     </div><!-- /.modal-content --> 
    </div><!-- /.modal-dialog --> 

</div> 

控制器代碼

public function update(Request $request, $id) 
{ 
    $row = $id; 

    $data = array('medicine' => $request->medicine, 
        'dosage' => $request->dosage, 
        'howOften' => $request->howOften, 
        'forWhat' => $request->forWhat, 
        'doctor' => $request->doctor, 
        'vaccination' => $request->vaccination, 
        'shots' => $request->shots); 

    $ex = ProfileInformation::insertInformation($row, $this->user, $this->TABLE_NAME, $data); 
    if($ex){//executed properly 
     return redirect('/medication'); 
    } else { 
     return redirect('/customer'); 
    } 

} 

我m不使用laravel的標準id主鍵,但sti我想要堅持資源控制器。我不明白爲什麼沒有發生。如果有查詢錯誤,那麼它應該至少轉到我的重定向代碼。

回答

1

它不工作,因爲你已經設置了method="PUT"。請按照以下步驟操作

<form role="form" action="/medication/3" method="POST" class="f1"> 
     {{ csrf_field() }} 
     {{ method_field("PUT") }}