You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel 9展示当前登录用户个人资料提示「用户未找到」,求排查

Laravel 9 个人资料页「用户未找到」错误排查与解决

你的问题出在Laravel隐式路由模型绑定的默认匹配规则上:你用username作为路由参数,但Laravel默认会根据id字段查找用户,所以系统找不到对应记录,抛出「用户未找到」异常。

下面是具体解决步骤:

1. 修改模型的路由匹配字段

在User模型中添加getRouteKeyName方法,指定用username作为路由匹配的字段:

public function getRouteKeyName()
{
    return 'username';
}

这样Laravel处理路由时,会自动用URL中的username值去数据库匹配用户记录。

2. 优化路由链接生成(可选)

不要硬写URL路径,用Laravel的路由命名生成更可靠,资源路由的详情页命名是users.show,可以这样修改链接:

<x-dropdown-item href="{{ route('users.show', auth()->user()) }}">Account</x-dropdown-item>

这样系统会自动根据模型的路由键(也就是你刚才设置的username)生成正确的URL,避免硬编码出错。

3. 控制器方法简化(可选)

原控制器里的with('user', $user)可以简化成更常用的写法:

public function show(User $user)
{
    return view('users.index', compact('user'));
}

内容的提问来源于stack exchange,提问作者kristi tanellari

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 02:35:23