获取方法不允许HttpException无消息错误,同时将数据存储到数据库中[Laravel]



嗨,我是 laravel 的新手,正在尝试将数据存储到数据库中并收到此错误:

MethodNotAllowedHttpException无消息

在这里我创建了资源

Routes:
Route::resource("/post","PostController");

这是我的后控制器中的存储方法

public function store(Request $request)
{

    Post::create($request->all());
    return redirect('post');
}

这是我的HTML帖子表单

<!DOCTYPE html>
<html>
<head>
<title>Create Post</title>
</head>
<body>
<form action="" method="post">
    {{  csrf_field() }}
    <input type="text" name="title" placeholder="Enter Title"><br>
    <input type="submit" name="submit">
</form>
</body>
</html>

帖子模型

<?php
 namespace App;
 use IlluminateDatabaseEloquentModel;
 class Post extends Model
 {
 protected $fillable = ["_token","title"];
 protected $table = 'Post';
  }

这是我的路线列表:

路线列表

这是完整的错误错误

您需要

在此处添加一个表单操作,考虑到您使用的是资源控制器,post.store 应该可以工作:

<form action="{{ route('post.store') }}" method="post"> 

如果这没有帮助,请告诉我。

在表单中指定操作。

您可以将 HTML 更新为此,它应该可以工作:

<!DOCTYPE html>
<html>
<head>
<title>Create Post</title>
</head>
<body>
<form action="{{ url('/post') }}" method="post">
    {{  csrf_field() }}
    <input type="text" name="title" placeholder="Enter Title"><br>
    <input type="submit" name="submit">
</form>
</body>
</html>

这是因为创建路由/post/create,存储路由/post。由于未指定任何操作,因此表单将发布到/post/create,这就是引发异常的原因。

您必须将数据

发送到视图。

public function store(Request $request)
{
    $data = Post::create($request->all());
    return redirect('post')->with('data',$data);
}

具有以下路由>

Route::post('/post', 'PostController@store');

最新更新