执行php artisan route:list报Array to string转换错误且admin.edit路由不存在
问题原因
1. Array to string conversion报错
你的routes/admin.php中Route::resource写法存在语法错误:该方法第二个参数需要传入控制器类标识(字符串类型),你给AdminController::class套了多余的[],传入了数组类型参数,Laravel底层处理控制器名时需要转字符串,就触发了该报错。
2. admin.edit路由无法检测
Route::resource第一个参数是资源名称,你留空了该参数,就算语法修正后生成的路由也不会带有admin.命名前缀,自然无法识别admin.edit路由。
修复步骤
直接修改routes/admin.php的路由代码即可,适配你已在RouteServiceProvider中配置的prefix('admin')分组规则:
<?php use App\Http\Controllers\Admin\AdminController; use Illuminate\Support\Facades\Route; // 移除控制器外层多余方括号,指定资源路径为根,同时设置路由命名前缀为admin Route::resource('/', AdminController::class)->names('admin');
修复后执行php artisan route:list即可看到正常生成的所有admin资源路由,包含admin.edit,报错也会同步消失。
内容的提问来源于stack exchange,提问作者Fernando López
相关产品推荐
相关产品推荐

