2017-08-16 45 views
1

我想用表單添加新的法律細節,此表單有兩個按鈕,如更新和取消。RouteCollection.php中的MethodNotAllowedHttpException行218:laravel 5.4

當我點擊取消按鈕表單被取消並被重定向到前一頁,當我點擊更新按鈕時沒有填寫表單詳細信息,它要求驗證。

填寫所有必需的形式的細節,當我擊中更新按鈕後,它拋出我的錯誤是在MethodNotAllowedHttpException行RouteCollection.php 218:

我的形式是這樣的:

{!! Form::open(array('url' => 'admin/companymaster/updateLocation', 'id'=>'updatelocations', 'class' => 'form-horizontal create_form', 'files' => true)) !!} 
<input type="hidden" value="{{$value->id}}" name="company_master_id"> 
<div id="sublaws_content1"></div> 
<div id="save" style="display:none; margin-bottom: 20px;"> 
<button type="submit" class="btn btn-success" id="senddatepicker">Update</button> 
<a class="btn red" href="{{ URL::to('admin/companymaster/'.$company_master->id) }}">Cancel</a> 
</div> 
</form> 

我的路線是:

Route::post('admin/companymaster/updatelocations', '[email protected]'); 

我的控制器:

public function updateLocation(){ 
     //dd(Input::all()); 
     /*Insert Company Law Details*/ 
     $companydetails_id = Input::get('company_master_id'); 
     $company_sub_laws = Input::get('company_sub_laws'); 
     if($company_sub_laws!="") 
     { 
      $cld=0; 
      foreach($company_sub_laws as $rescompany_sublaws) 
      { 
       if($companydetails_id!="" && $rescompany_sublaws!="") 
       { 

        $law_reg_no = $_POST['law_reg_no']; 
        $sub_law_start_date = $_POST['sub_law_start_date'][$cld]; 
        $sub_law_end_date = $_POST['sub_law_end_date'][$cld]; 

        $companylawdetails = new CompanyLawDetails; 
        $companylawdetails->company_master_details_id = $companydetails_id; 
        $companylawdetails->company_sub_law_id = $rescompany_sublaws; 
        $companylawdetails->law_reg_no = $law_reg_no; 
        $company_sub_law_start_date = $sub_law_start_date; 
        $company_sub_law_end_date = $sub_law_end_date; 

        if($company_sub_law_end_date!="") 
        { 
         $res_company_sub_law_end_date=explode("-",$company_sub_law_end_date); 
         $company_sub_law_end_date=$res_company_sub_law_end_date[2]."-".$res_company_sub_law_end_date[1]."-".$res_company_sub_law_end_date[0]; 

         $companylawdetails->law_end_date = $company_sub_law_end_date; 
        } 
        if($company_sub_law_start_date!="") 
        { 
         $res_company_sub_law_start_date=explode("-",$company_sub_law_start_date); 
         $company_sub_law_start_date=$res_company_sub_law_start_date[2]."-".$res_company_sub_law_start_date[1]."-".$res_company_sub_law_start_date[0]; 
         $companylawdetails->law_start_date = $company_sub_law_start_date; 
        } 

        $companylawdetails->save(); 

       } 
       $cld++; 
      } 
     } 

     $sublaws = CompanyLawDetails::where('company_master_details_id',$companydetails_id)->select('company_sub_law_id')->get()->toArray(); 
     $sublaws = join(",",array_column($sublaws,'company_sub_law_id')); 

     $update = CompanyDetails::where('id',$companydetails_id)->update(['company_sub_laws' => $sublaws]); 
     //return Redirect::back(); 
    } 

當我提交我的形式通過點擊更新按鈕我得到一個錯誤頁面: enter image description here

誰能幫我這個?

+0

只需將''method'=>'post''添加到您的'Form :: open'數組! –

+0

您是否嘗試過兩種拼寫錯誤並添加''method'=>'post''?做到這一點,讓我們知道發生了什麼! –

+0

add method = post並在表單內添加{{csrf_field()}}。 –

回答

1

看來,你走錯了路線,而你對網址的錯誤,請嘗試以下方法;

Route::post('admin/companymaster/updatelocations', ['uses'=>'[email protected]', 
'as'=>'upload.locations']); 

on your blade 


{!! Form::open(array('route'=> 'upload.locations', 'method'=>'post', 'id'=>'updatelocations', 'class' => 'form-horizontal create_form', 'files' => true)) !!} 
<input type="hidden" value="{{$value->id}}" name="company_master_id"> 
<div id="sublaws_content1"></div> 
<div id="save" style="display:none; margin-bottom: 20px;"> 
<button type="submit" class="btn btn-success" id="senddatepicker">Update</button> 
<a class="btn red" href="{{ URL::to('admin/companymaster/'.$company_master->id) }}">Cancel</a> 
</div> 
</form> 
+0

如何在更新表格 – Deb

+0

的數據後,將其重定向到admin/companymaster以及其相應的ID,例如admin/companymaster/2忘記添加'route'=> ['upload.locations',$ value-> id] –

+0

這個wright Route :: post('admin/companymaster/updatelocations',['uses'=>'CompanyController @ updateLocation','as'=>'upload.locations',$ value-> id]); – Deb

0

請添加表單方法'method' => 'post',

{!! Form::open(array('url' => 'admin/companymaster/updateLocation', 'id'=>'updatelocations', 'class' => 'form-horizontal create_form', 'files' => true,'method' => 'post')) !!} 

希望你能理解。

+0

我已將'method'=>'發佈'添加到我的表單中,但是我收到了同樣的錯誤頁面 – Deb

0

拼寫錯誤更改url形式

{!! Form::open(array('url' => 'admin/companymaster/updateLocation', 'id'=>'updatelocations', 'class' => 'form-horizontal create_form', 'files' => true)) !!} 

{!! Form::open(array('url' => 'admin/companymaster/updatelocations', 'id'=>'updatelocations', 'class' => 'form-horizontal create_form', 'files' => true)) !!} 
+0

不工作bro我也更改了拼寫。 – Deb

+0

你能否更新你的信息? – mrabbani

+0

'url'區分大小寫'admin/companymaster/updateLocations'更改爲'admin/companymaster/updatelocations'。只要將'L'改爲'l' – mrabbani

相關問題