2017-02-21 20 views
1

RESTfulリソースコントローラを使用していて、更新機能が正しく動作していません。laravel controller update not working

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'); 
    } 

} 

を、このようなリンクを生成しても何も(のみテストのため) 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> 

コントローラー・コードであるならば、私は」その標準のIDを使用していませんlaravelしかしstiの主キーリソースコントローラに固執するでしょう。私は何も起こっていない理由を理解していない。クエリエラーがあれば、少なくともリダイレクトコードに行きます。

答えて

1

method="PUT"が設定されているため、動作しません。代わりに次の手順を実行します。

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