如何解决Laravel 8 GET 请求 UrlGenerationException 缺失
我在 Laravel 8 中为 GET 请求发送 ID 时出错。
路线代码:
Route::get('reports_gen',[BaseController::class,'reports_gen'])->name('reports_gen');
Route::get('downloadCSV/{id}','downloadCSV'])->name('downloadCSV');
刀片代码:
<li><a href="{{route('downloadCSV',$id)}}" >G1</a></li>
控制器代码:
public function downloadCSV(Request $req,$id)
{
echo $id;die();
}
public function reports_gen(Request $req)
{
//dd($req);
$id=1;
return view("reports_generate",compact('id'));
}
错误信息是:
Illuminate\Routing\Exceptions\UrlGenerationException Missing required [Route: downloadCSV] [URI: downloadCSV/{id}] 的参数 [Missing 参数:id]。 (看法: C:\xampp\htdocs\lrvl\studentprojectapp\resources\views\reports_generate.blade.PHP)
我需要将 $id 参数传递给 downloadCSV 控制器,并且还想知道是否有更好的方法来做到这一点。任何帮助将不胜感激。
解决方法
错误 msg 意味着您必须将参数作为关联数组传递,这是 Laravel 中的“经典错误”。
https://laravel.com/docs/8.x/routing#named-routes
在你的刀片文件中
<a href="{{ route('downloadCSV',['id' => $id]) }}">G1</a>
然后正如 @porloscerrosΨ 在评论中所写的那样,您必须更正控制器功能。
,这个错误实际上是一个非常简单的错误造成的。
代码没问题。 我的刀片上也有以下几行。
<li><a href="{{route('downloadCSV',$id)}}">G1</a></li>
<li><form action="{{route('downloadCSV')}}">G2</form></li>
<li><form action="{{route('downloadCSV')}}">G3</form></li>
错误发生在 G2、G3 的路线上。我忘记更改它们了,因为我正在测试 G1。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。