Laravel路由配置错误导致搜索功能searchUsers方法未触发问题咨询
问题排查及修复方案
1. 表单核心配置错误
form标签错用了type属性,表单提交方式需要用method属性声明,原代码type="get"完全不会生效。同时你的提交按钮type="button"是普通按钮,默认不会触发表单提交逻辑。
2. 路径适配问题
搜索路由配置了admin前缀,完整路由路径是/admin/role-permission-search,如果当前表单所在页面不在/admin路径层级下,相对路径role-permission-search会提交到错误地址。
3. 控制器语法错误
查询语句调用get()方法前少了箭头符号,原代码-get()属于语法错误,接口触发后会直接报错,同时推荐用Laravel内置的Request对象获取参数,符合框架规范。
修复后的视图代码
<form method="get" action="/admin/role-permission-search"> <input type="search" class="" name="query" placeholder="Search"/> <button type="submit" class="btn btn-outline-primary">search</button> </form>
优化后的控制器代码
use Illuminate\Http\Request; function searchUsers(Request $request) { dd('Where are you'); $search_request = $request->input('query'); $users = User::where('name', 'LIKE', '%'.$search_request.'%')->get(); return view('dashboards.admins.rolePermission', compact('users')); }
内容的提问来源于stack exchange,提问作者user16466807
相关产品推荐
相关产品推荐

