有没有最简单的方法可以在网络中更改"resouce"名称.php [Laravel9]



我正在用示例代码学习Laravel9路由,我在更改URL时遇到问题。我想更改URL如下

当前我可以访问这个URL

127.0.0.01:8000/学生/

127.0.0.01:8000/学生/创建

但我想这样改变

127.0.0.01:8000/fun_student/

127.0.0.01:8000 fun_student/创建

我是这样写的

web.php

Route::prefix('fun_fun_student')->group(function (){
Route::resource('students', StudentController::class);   
});

但是我不能显示为这个URL。有人能教我正确的代码吗?

更新我试着

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 

更改资源的前缀。您必须更改资源名称。

,

Route::resource('fun_student', StudentController::class); 

那么你可以这样使用路由:

,

<a href="{{ route('fun_student.index') }}">Students</a>

该路由应该输出如下URL:

http://127.0.0.01:8000/fun_student

资源更改后,请记住执行以下命令清除缓存:

php artisan route:clear
// or
php artisan optimize:clear

还可以在项目的其他地方将route('students.xxx')更改为route('fun_student.xxx')

我建议你通过Laravel文档了解更多信息。

为了补充Dasun Tharanga的答案,如果你正在使用路由模型绑定,例如:

/**
* Display the specified resource.
*/
public function show(Student $student)
{
//...
}

必须将参数的名称更改为:

public function show(Student $fun_student)
{
//...
}

你必须命名资源路由参数

Route::resource('fun_student', StudentController::class)->parameters([
'fun_student' => 'student'
]);

相关内容

  • 没有找到相关文章

最新更新