这是我的 html 表单;
<form action="{{url('admin/users/update/'.$user->id)}}" method="post">
{{csrf_field()}}
{{method_field('put')}}
这是我的路由器;
Route::post('users/update/{id}', 'UsersController@update');
这是我的 Controller
public function update($id)
{
//$id=$_POST['id'];
$user = \App\User::find($id);
$user->email = $_POST['email'];
$user->name = $_POST['name'];
if ($_POST['password'] != '') {
$user->password = Hash::make($_POST['password']);
}
$user->user_level = $_POST['user_level'];
$user->location =$_POST['location'];
$user->gender = $_POST['gender'];
$user->save();
我的代码不起作用。我该如何解决?错误是 Symphony\Component\HttpKernel\Exception\MethodNotAllowedHttpException 无消息
最佳答案
您需要删除{{method_field ('put')}}。因为这段代码意味着您的表单是通过 put 方法发送的,而路由器中没有 put。
解决方案 1. 删除 {{method_field ('put')}}。
解决方案 2. 将路由器定义更改为:
Route::put('users/update/{id}', 'UsersController@update');
关于php - Laravel 路由发布方法失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50388520/