简体   繁体   English

Laravel 7 多参数路由错误:Facade\Ignition\Exceptions\ViewException Missing required parameters for Route

[英]Laravel 7 multi parameter route error: Facade\Ignition\Exceptions\ViewException Missing required parameters for Route

My small project was in Laravel 5.8 and i decided to upgrade it to Laravel 7 using copy paste controllers, models, routes &...我的小项目在 Laravel 5.8 中,我决定使用复制粘贴控制器、模型、路线和...将其升级到 Laravel 7。

Every things is fine but for route has an Associated array, I given this error:一切都很好,但是对于 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:路线:

Route::get('users/{user}/login', 'AdminUserController@login')->name('admin-user-login');

Error section in blade template:刀片模板中的错误部分:

{{ route('admin-user-login', ['user_id' => $ad->user_id]) }}

But it works if i use Indexed array like this:但如果我像这样使用索引数组,它会起作用:

{{ route('admin-user-login', [$ad->user_id]) }}

Or this one:或者这个:

{{ route('admin-user-login', $ad->user_id) }}

I need only Associated array, specialy for multi parameter routes.我只需要关联数组,专门用于多参数路由。

Your route in web.php wait for paramenter named user , but you put user_id paramenter for it and it throws exeption for you.您在web.php中的路线等待名为user的参数,但是您为其设置了user_id参数,它会为您抛出异常。

In your case in should be something like this:在你的情况下应该是这样的:

// config/web.php Route::get('users/{user}/login', 'AdminUserController@login')->name('admin-user-login'); After that, in your controller:之后,在您的 controller 中:

route('admin-user-login', ['user' => $user]);

or:或者:

$user = User::findOrFail($user_id); route('admin-user-login', compact('user'));

or in blade templates: {{ route('admin-user-login', ['user' => $user]) }}或在刀片模板中: {{ route('admin-user-login', ['user' => $user]) }}

More info in Laravel docs: https://laravel.com/docs/7.x/routing#named-routes Laravel 文档中的更多信息: https://laravel.com/docs/7.x/routing#named-routes

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM