首页 > 解决方案 > Laravel:ro如何从get route返回post route

问题描述

我有从发布路线到达的页面:

Route::post('/daily', [App\Http\Controllers\AdminController::class, 'daily'])->name('daily');

在此页面中,我有一个图标,该图标具有通过 get 方法更新数据的操作:

<td class="text-center notforprint"> <a href="{{route('abs_action',["id"=>$item->id,"action"=>'edit','date'=>$absences[0]->date,'stage'=>$stage,'group'=>$absences[0]->group])}}"><i class="fas fa-check-circle"></i></a></td>

在“abs_action”控制器中,我更新数据并希望返回到具有页面所需数组的同一页面:

return back()->with($arr);

我收到此错误: The GET method is not supported for this route. Supported methods: POST.

我该如何解决它并返回同一页面

标签: laravelredirectroutesback

解决方案


解决方案:- 正如@Kenny Horna 提到的,我将 get 方法更改为 put

前 :

<td class="text-center notforprint"> <a href="{{route('abs_action',["id"=>$item->id,"action"=>'edit','date'=>$absences[0]->date,'stage'=>$stage,'group'=>$absences[0]->group])}}"><i class="fas fa-check-circle"></i></a></td>

后 :

<td class="text-center notforprint"> 
      <form action="{{route('abs_action')}}" method="POST">
         {{ method_field('PUT') }}
         {{ csrf_field() }}
         <input type="hidden" name="date" value="{{$absences[0]->date}}">
         <input type="hidden" name="stage" value="{{$absences[0]->stage}}">
         <input type="hidden" name="group" value="{{$absences[0]->group}}">
         <input type="hidden" name="id" value="{{$item->id}}">
         <input type="hidden" name="action" value="edit">
         <button type="submit" class="btn btn-primary">
         <i class="fas fa-check-circle"></i>
         </button>
      </form>
 </td>

推荐阅读