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

Laravel中打开指定ID页面遇404?问题排查与解决

问题原因与解决方案

核心问题:路由不匹配

Laravel 的 Route::resource('/tickets', TicketsController::class) 生成的标准路由中,create 方法对应的 URL 是 GET /tickets/create,不带任何路径参数。你访问的 /tickets/create/1 不符合这个路由规则,所以返回 404。

另外你的 Blade 视图和控制器也存在逻辑问题,下面一步步修复:

1. 调整路由,支持带 ID 的 create 请求

在原有 resource 路由前添加自定义路由(必须放在 resource 路由前面,否则会被无参数的 create 路由覆盖):

// 带 ID 的 create 路由,命名方便后续生成链接
Route::get('/tickets/create/{id}', [TicketsController::class, 'create'])->name('tickets.create');
// 保留原有 resource 路由
Route::resource('/tickets', TicketsController::class);

2. 修改控制器方法,接收并使用 ID

更新 create 方法,添加参数接收逻辑,同时优化视图数据传递的写法:

public function create($id)
{
    // 根据 ID 获取对应数据(注意:你的 $users 变量是从 tickets 表取的,命名不符合语义,建议改成对应表,比如 User::find($id))
    $targetTicket = DB::table('tickets')->find($id);
    
    // 原有数据查询逻辑
    $ticketsinfos = Tickets::with('companies')->get();
    $tickets = Companies::with('tickets')->get();
    $severities = Severities::with('severity')->get();
    $ticketscounts = Tickets::count();
    $users = DB::table('tickets')->get();
  
    // 用 compact 简化数据传递
    return view('customer.index', compact('tickets', 'severities', 'ticketsinfos', 'ticketscounts', 'users', 'targetTicket'));
}

3. 修复 Blade 视图的逻辑错误

原视图存在两个问题:嵌套 @foreach($users) 会生成多个 <td> 导致表格结构错乱,以及多余的 </tr> 标签。修改后:

@foreach ($ticketsinfos as $ticketinfo)
<tr>
    <td>IR-173049</td>
    <td>Tudro</td> 
    <td>{{ $ticketinfo->companies->name }}</td>
    <!-- 用 route 函数生成可靠链接,传递当前工单的 ID -->
    <td><a href="{{ route('tickets.create', $ticketinfo->id) }}">{{ Str::limit($ticketinfo->ticket_title, 50, '...') }}</a></td>
    <td><button class="btn btn-danger btn-sm" type="button">Action Needed<br></button><br></td>
    <td>Tako Kiknadze</td>
    <td>{{ $ticketinfo->created_at }}</td>
    <td>{{ $ticketinfo->updated_at }}</td>
</tr>
@endforeach

额外提醒

你代码中 $users = DB::table('tickets')->get(); 的命名不符合语义,$users 应该对应用户表(比如 User::get()),如果是要获取工单数据,建议改成 $ticketsList = DB::table('tickets')->get();,避免逻辑混淆。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 01:01:12