![](/img/trans.png)
[英]Facade\Ignition\Exceptions\ViewException Missing required parameters for [Route: trainingcategories.update]
[英]Laravel 7 multi parameter route error: Facade\Ignition\Exceptions\ViewException Missing required parameters for Route
我的小项目在 Laravel 5.8 中,我决定使用复制粘贴控制器、模型、路线和...将其升级到 Laravel 7。
一切都很好,但是对于 route 有一个 Associated 数组,我给出了这个错误:
Facade\Ignition\Exceptions\ViewException
Missing required parameters for [Route: admin-user-login] [URI: admin/users/{user}/login]. (View: /home/hamidreza/projects-tmp/laravel7/resources/views/admin/ads-index.blade.php)
路线:
Route::get('users/{user}/login', 'AdminUserController@login')->name('admin-user-login');
刀片模板中的错误部分:
{{ route('admin-user-login', ['user_id' => $ad->user_id]) }}
但如果我像这样使用索引数组,它会起作用:
{{ route('admin-user-login', [$ad->user_id]) }}
或者这个:
{{ route('admin-user-login', $ad->user_id) }}
我只需要关联数组,专门用于多参数路由。
您在web.php
中的路线等待名为user
的参数,但是您为其设置了user_id
参数,它会为您抛出异常。
在你的情况下应该是这样的:
// config/web.php Route::get('users/{user}/login', 'AdminUserController@login')->name('admin-user-login');
之后,在您的 controller 中:
route('admin-user-login', ['user' => $user]);
或者:
$user = User::findOrFail($user_id); route('admin-user-login', compact('user'));
或在刀片模板中: {{ route('admin-user-login', ['user' => $user]) }}
Laravel 文档中的更多信息: https://laravel.com/docs/7.x/routing#named-routes
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.