【问题标题】:Laravel Missing required parametersLaravel 缺少必要的参数
【发布时间】:2020-01-22 08:57:48
【问题描述】:

我尝试使用一个使用 id 参数的控制器创建一个新路由,以及一个指向它的链接。 错误是当我尝试创建到控制器的链接时。 我得到的错误是:

“缺少 [Route: notas.detalle] [URI: detalle/{id}] 所需的参数。(查看:/var/www/html/laravel/blog/resources/views/producto.blade.php)”

路线:

Route::get('detalle/{id}', 'productoController@detalle')>name('notas.detalle');

刀片模板:

@foreach($notas as $nota)
    <a href="{{ route('notas.detalle'), $nota }}">{{$nota->id}}</a>
    {{$nota->created_at}}
    {{$nota->updated_at}}
@endforeach

可能是什么问题?

【问题讨论】:

  • 你有一个错字 - $nota 变量在函数括号之外。 route('notas.detalle'), $nota 应该是 route('notas.detalle', $nota)
  • 由于问题是拼写错误,投票结束。
  • @Qirel thnaks!那是错误。

标签: php laravel parameters routes


【解决方案1】:

Laravel 路由助手可以作为第二个参数,一个包含所有键(需要参数)及其值的关联数组。

你的情况是这样的

route('notas.detalle', ['id' => 1])

但它可能是多个参数,所以您的路线是否有类似 'notas/{id}/student/{student}

那么您可以执行以下操作。

route('notas.detalle', ['id' => 1, student => 129483])

这里是文档的链接,您可以在其中查看更多详细信息。 https://laravel.com/docs/5.8/routing#named-routes

【讨论】:

    【解决方案2】:

    问题是变量必须在逗号之后。 我认为这会奏效:

    <a href="{{ route('notas.detalle', $nota->id) }}">{{$nota->id}}</a>
    

    【讨论】:

    • 您能否详细说明为什么您认为这会奏效?一个好的答案总是包含一个描述性文字,说明为什么这可以解决问题。
    猜你喜欢
    • 2020-09-27
    • 1970-01-01
    • 1970-01-01
    • 2021-01-31
    • 2021-07-20
    • 2017-12-27
    • 1970-01-01
    • 2021-11-15
    • 2020-05-07
    相关资源
    最近更新 更多