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

如何在Laravel导航栏中创建动态路由链接并实现跳转

解决Laravel动态路由导航链接问题

你遇到的核心问题是:你的命名路由profile需要接收first_name参数,但当前导航栏的代码没有传递这个参数,所以无法生成正确的跳转URL。下面是具体的解决方法:

方法一:固定跳转到nenad的任务页面

如果你的需求就是固定跳转到nenad的任务页面,直接在route()助手函数里传入参数即可:

<li><a href="{{ route('profile', ['first_name' => 'nenad']) }}">Tasks</a></li>

route()函数的第二个参数是路由参数的关联数组,键名要和你路由定义里的{first_name}完全一致,这样生成的URL就是http://localhost:8000/tasks/nenad,完全匹配你的需求。

方法二:动态适配当前登录用户(可选)

如果后续需要让每个登录用户跳转到自己的任务页面,可以通过Laravel的认证系统获取当前用户的first_name:

<li><a href="{{ route('profile', ['first_name' => Auth::user()->first_name]) }}">Tasks</a></li>

注意:使用这个方式需要确保用户已经登录,否则Auth::user()会返回null,可以配合@auth指令做安全判断:

@auth
<li><a href="{{ route('profile', ['first_name' => Auth::user()->first_name]) }}">Tasks</a></li>
@endauth

额外修复:控制器查询代码的语法问题

另外,你的ViewerController里的查询写法存在语法错误,Laravel查询构造器没有whereFirst_name()这种写法,需要改成标准的where()格式:

public function profile($first_name) { 
    $user = User::where('first_name', $first_name)->first(); 
    return view('viewers/tasks', compact('user')); 
}

这样才能正确根据first_name查询到对应的用户数据。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 08:14:01