微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Laravel 8 GET 请求 UrlGenerationException 缺失

如何解决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 举报,一经查实,本站将立刻删除。