我正在使用示例代码学习Laravel9路由,在更改URL时遇到问题。我想更改如下URL
目前我可以访问此URL
127.0.0.01:8000/student/
和
127.0.0.01:8000/student/create
但我想这样改变
127.0.0.01:8000/fun_student/
和
127.0.0.01:8000/fun_student/create
我是这样写的
web.php
Route::prefix('fun_fun_student')->group(function (){
Route::resource('students', StudentController::class);
});
但是我不能显示为这个网址。有人能教我正确的代码吗?
更新
我尽力了
Route::resource('fun', StudentController::class);
则我的当前路由列表
GET|HEAD fun ............................. fun.index › StudentController@index
POST fun ............................. fun.store › StudentController@store
GET|HEAD fun/create .................... fun.create › StudentController@create
GET|HEAD fun/{fun} ......................... fun.show › StudentController@show
PUT|PATCH fun/{fun} ..................... fun.update › StudentController@update
DELETE fun/{fun} ................... fun.destroy › StudentController@destroy
GET|HEAD fun/{fun}/edit .................... fun.edit › StudentController@edit
2条答案
按热度按时间7kjnsjlb1#
要更改资源的前缀,必须更改资源名称。
例如:
你可以这样使用路由:
例如:
此路由应输出以下URL:
资源更改后,请记住通过运行以下命令清除缓存:
在项目的其他地方也将
route('students.xxx')
更改为route('fun_student.xxx')
。我建议你阅读Laravel文档以获取更多信息。
jexiocij2#
为了补充Dasun Tharanga的答案,如果您正在使用路由模型绑定,例如:
您必须将参数的名称更改为:
或者必须命名资源路由参数