如何解决重名resource路由报错问题

1. 运行环境

Macos 12

1). 当前使用的 Laravel 版本?

Laravel Framework 7.30.4
//: <> (使用 php artisan --version 命令查看)

2). 当前使用的 php/php-fpm 版本?

PHP 版本:php7.4

在多个route文件中,即使namespace不同,注册了同名resource路由也会报错路由重复

Route::resource("banners", BannerController::class);
报错: Unable to prepare route [brand/banners] for serialization. Another route has already been assigned name [banners.index]

问下路过的大佬有好的解决办法么?

《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
最佳答案

可以配置 as

Route::group([
    'prefix'        => config('admin.route.prefix'), // 配置路由 生成 url 的前缀 
    'namespace'     => config('admin.route.namespace'), // 配置路由组中控制器的 namespace
    'middleware'    => config('admin.route.middleware'), // 配置路由组中间件
    'as'            => config('admin.route.prefix') . '.', // 配置路由组中路由命名的前缀。
], function (Router $router) {

    $router->get('/', 'HomeController@index')->name('home');

    $router->any('users/load','AdminUserController@loadFile');
    $router->any('users/ajax','AdminUserController@ajax')->name('users.ajax');
    $router->resource('users','AdminUserController');


});
2年前 评论
osang (楼主) 2年前
osang (楼主) 2年前
讨论数量: 3

可以配置 as

Route::group([
    'prefix'        => config('admin.route.prefix'), // 配置路由 生成 url 的前缀 
    'namespace'     => config('admin.route.namespace'), // 配置路由组中控制器的 namespace
    'middleware'    => config('admin.route.middleware'), // 配置路由组中间件
    'as'            => config('admin.route.prefix') . '.', // 配置路由组中路由命名的前缀。
], function (Router $router) {

    $router->get('/', 'HomeController@index')->name('home');

    $router->any('users/load','AdminUserController@loadFile');
    $router->any('users/ajax','AdminUserController@ajax')->name('users.ajax');
    $router->resource('users','AdminUserController');


});
2年前 评论
osang (楼主) 2年前
osang (楼主) 2年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!