嗨,我是 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');