簡體   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

我的小項目在 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM