【问题标题】:Missing required parameter for RouteRoute 缺少必需的参数
【发布时间】:2026-02-18 17:10:01
【问题描述】:

我正在使用 Laravel 5.3。我有一个控制器函数,它的 $id 有它的参数

public function verifyMe ($id){
        $user = User::findOrfail($id);
        return view ('dashboard');
    }

我的路由中有一个带有此 $id 参数的 url。

Route::get('/verify/{id}', [
    'uses' => 'UserController@verifyMe',
    'as' => 'VerifyMe',
]);

在我的刀片模板中,我也有这个

<h3>To verify, <a href="{{route('verifyMe', ['id' => $user->id])}}">Click Here.</a> </h3>

但是我得到了这个错误

缺少 [Route: verifyMe] [URI: verify/{id}] 的必需参数。

我不知道我做错了什么。

【问题讨论】:

  • 你有子域名吗?
  • 也分享一下$user是如何分配和传递到这里的?
  • 我为我的用户分配了 $user = new User;
  • 你确定你收到$user-&gt;id 吗?你能分享所有代码吗?
  • 用户找到了吗?

标签: php laravel-5 routes


【解决方案1】:

在您的模板中,删除 $user-&gt;id 并放入 auth()-&gt;user()-&gt;id 并查看它是否有效。

我认为的问题是变量$user

【讨论】:

  • 我没有使用 laravel 内置的身份验证系统,我创建了我的注册和登录逻辑。
  • 先试试吧。无论哪种方式,它都会选择一个 id,除非你删除了整个 Auth。
【解决方案2】:

我也遇到了类似的问题,尝试了这样的方法

试试这个

<h3>To verify, <a href="{{route(['verifyMe', 'id' => $user->id])}}">Click 
Here.</a> </h3>

希望对你有帮助

【讨论】:

    最近更新 更多