gpt4 book ai didi

php - 发布表单时 Laravel Route 资源不会更新

转载 作者:行者123 更新时间:2023-12-02 03:23:52 26 4
gpt4 key购买 nike

我正在使用 Laravel 5.6 和 MySQL。我将使用以下 Controller 函数更新学生表:

public function update(Request $request, $id)
{
$students = Student::find($id);
$students->name = $request->input('name');
$students->town = $request->input('town');
$students->save();
}

更新表单操作如下所示:

<form action="{{route('student.update',$students->id)}}" method="POST">
{{csrf_field()}}

我的路线定义如下:

Route::resource('student','StudentController');

我的问题是,当我单击表单中的更新按钮时,它会生成以下错误消息

1/1) MethodNotAllowedHttpException

出了什么问题?

最佳答案

您使用了错误的 HTTP 方法,Route::resource 路由上的 update 方法要求使用 PUT/PATCH HTTP 方法发送请求。

由于 HTTP 表单不支持 PUT/PATCH 作为方法,因此您应该通过在表单内使用 Blade 指令 @method('PUT') 来欺骗 HTTP 方法。

<form action="{{route('student.update',$students->id)}}" method="POST">
{{csrf_field()}}

{!! @method('PUT') !!}
</form>

关于php - 发布表单时 Laravel Route 资源不会更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54034262/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com