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

Laravel如何根据登录用户前缀添加路由前缀并复用路由?

解决Laravel重复定义前缀路由的方案

你可以通过循环遍历前缀数组的方式,只编写一次路由逻辑,自动生成对应不同前缀的路由,避免重复代码。具体实现如下:

// 定义需要生成路由的前缀数组
$prefixes = ['users', 'chancellors'];

// 循环每个前缀,生成对应分组内的路由
foreach ($prefixes as $prefix) {
    Route::prefix($prefix)->group(function () use ($prefix) {
        Route::get('/report-feedback', [FeedbackController::class, 'feedbackForm'])
            // 自动生成带前缀的路由名称,方便后续调用
            ->name("{$prefix}.feedbackForm.get");
    });
}

这段代码会自动生成两个路由:

  • users/report-feedback,路由名称为users.feedbackForm.get
  • chancellors/report-feedback,路由名称为chancellors.feedbackForm.get

两者指向同一个控制器方法FeedbackController@feedbackForm,完全满足你“仅编写一次路由,登录后对应不同前缀URL”的需求。

如果需要在控制器中区分当前请求的前缀,可以通过request()->route()->getPrefix()获取当前路由的前缀,进而做针对性处理。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 12:52:08