Laravel 缺少 [Route: destroy] 所需的参数。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Laravel 缺少 [Route: destroy] 所需的参数。相关的知识,希望对你有一定的参考价值。

reports

Route::resource('reports/', 'ReportController')->middleware('auth');

destroy

DELETE    | reports/{}             | destroy          | AppHttpControllersReportController@destroy  

在index.blade.php中,我创建了一个删除按钮,如下所示。

<form method="post" action="{{route('destroy',['report'=>$report->id])}}" onsubmit="return confirm('Are you sute to delete?')">
             @csrf 
             @method("delete")
             <button type="submit" class="btn btn-danger btn-sm">Delete</button>
 </form>

ReportController Destroy方法。

public function destroy(Report $report)
{
     //
}

但我得到以下错误信息

Missing required parameters for [Route: destroy] [URI: reports/{}].
答案

Route::resource('reports/', 'ReportController')->middleware('auth');

检查

Route::resource('reports', 'ReportController')->middleware('auth');

文档

另一答案

而模型Report必须被添加到RouteServiceProvider. php中,就像这样。

DELETE    | reports/{report}             | destroy          | AppHttpControllersReportController@destroy 

这是路由模型绑定。阅读这里

public function boot()
{
    parent::boot();

    Route::model('report', AppReport::class);

https:/laravel.comdocs7.xrouting#explicit-binding。

以上是关于Laravel 缺少 [Route: destroy] 所需的参数。的主要内容,如果未能解决你的问题,请参考以下文章

域路由错误 Laravel 中缺少必需的参数

Laravel 8:[路线:students.update]缺少必需的参数

缺少必需的参数(laravel 8.8.0)

Laravel 5.3:缺少参数 2

Laravel,该类存在,但我得到目标类 [PagesController] 不存在

从 xampp 移动到 apache 2.4.7 后,Laravel 路由返回 404。 mod_rewrite aur htaccess 或缺少 apache 设置?