在 Laravel 8 中,允许用户编辑帖子可以通过以下步骤实现:
routes/web.php
文件中,添加一个路由来处理编辑帖子的请求,例如:Route::get('/posts/{id}/edit', 'PostController@edit')->name('posts.edit');
这个路由将会匹配类似 /posts/1/edit
的 URL,并将请求发送到 PostController
的 edit
方法。
resources/views
目录下创建一个名为 edit.blade.php
的视图文件,用于显示帖子编辑页面的表单。在该视图文件中,可以使用 Laravel 提供的表单构建工具来创建一个包含帖子标题和内容的表单。app/Http/Controllers
目录下创建 PostController.php
控制器文件(如果尚未创建)。在该文件中,添加一个 edit
方法来处理编辑帖子的逻辑,例如:public function edit($id)
{
$post = Post::findOrFail($id);
return view('edit', compact('post'));
}
在这个方法中,我们首先通过帖子的 ID 查询数据库获取到要编辑的帖子,然后将帖子对象传递给视图。
PostController
中添加一个 update
方法来处理帖子编辑表单的提交,例如:public function update(Request $request, $id)
{
$post = Post::findOrFail($id);
$post->title = $request->input('title');
$post->content = $request->input('content');
$post->save();
return redirect()->route('posts.show', $post->id);
}
在这个方法中,我们首先通过帖子的 ID 查询数据库获取到要编辑的帖子,然后根据表单提交的数据更新帖子的标题和内容,并保存到数据库中。最后,我们将用户重定向到帖子详情页面。
routes/web.php
文件中,添加一个路由来处理帖子编辑表单的提交,例如:Route::put('/posts/{id}', 'PostController@update')->name('posts.update');
这个路由将会匹配类似 /posts/1
的 PUT 请求,并将请求发送到 PostController
的 update
方法。
通过以上步骤,用户就可以通过访问 /posts/{id}/edit
来进入帖子编辑页面,编辑帖子的标题和内容,并提交表单进行更新。
领取专属 10元无门槛券
手把手带您无忧上云