Laravel 5.7 使用某些命名空间的资源控制器路由名称是啥?

Posted

技术标签:

【中文标题】Laravel 5.7 使用某些命名空间的资源控制器路由名称是啥?【英文标题】:Laravel 5.7 what is the Resource Controller route names using some namespaces?Laravel 5.7 使用某些命名空间的资源控制器路由名称是什么? 【发布时间】:2019-07-16 09:23:31 【问题描述】:

升级到 Laravel 5.7 后, 我在 Admin 中使用 route:resource 进行 CRUD 命名空间是Admin。 所以例如UsersController,create的路由名称是

route('admin.users.create')

但它在 Laravel 5.7 中对我不起作用。 我也不能使用命令

php artisan route:list

因为它在连接中显示错误,尽管我在 .env 文件中使用了正确的连接参数。

【问题讨论】:

去掉不必要的路由或者错误的路由然后运行php artisan route:list 你能显示路由列表的错误吗? 您是否在使用 vagrant box 或其他有您的项目以及 mysql 连接的东西,您是否在本地终端上触发了 artisan 命令(而不是在执行 vagrant ssh 之后)? 【参考方案1】:

命名空间不会更改路由名称,只会定义应用程序将在其中查找控制器的命名空间。

您应该将路由名称前缀 ->name('admin.') 添加到您的 admin 路由组。

【讨论】:

【参考方案2】:

在 routes->web.php 中指定名称:name('admin.users.create');like that.

Route::get('/user', 'UserController@create')->name('admin.users.create');

然后在你的控制器、视图或模型中使用它

route('admin.users.create').

【讨论】:

以上是关于Laravel 5.7 使用某些命名空间的资源控制器路由名称是啥?的主要内容,如果未能解决你的问题,请参考以下文章

laravel 5.7 引入IlluminateHttpRequest 在类内调用 Request 提示不存在的问题

视图命名空间上的 Laravel 视图组件支持

laravel入门教程

需要更改 Laravel 控制器路径已在 serviceprovider 上设置命名空间为空

在命名空间中定义控制器仍然发生在 laravel 5.5 中的 Class App\Http\Controllers 错误

laravel6.0控制器-资源控制器