7.2. 删除回复

本教程最新版为 9.x,当前版本已放弃维护,请阅读最新版本!

删除回复

本章节我们将开发帖子回复的删除功能。每一次开发『删除』这种危险性较高的功能时,我们需要特别注意权限的控制。根据现有的 Larabbs 回复功能,拥有删除回复权限的身份只有以下三种:

  • 『发布话题的作者』
  • 『回复话题的作者』
  • 『管理员』

接下来我们开始开发此功能,同时做好权限控制。

1. 增加路由

routes/api.php

.
.
.
// 发布回复
$api->post('topics/{topic}/replies', 'RepliesController@store')
    ->name('api.topics.replies.store');
// 删除回复
$api->delete('topics/{topic}/replies/{reply}', 'RepliesController@destroy')
    ->name('api.topics.replies.destroy');
.
.
.

2. 修改 Controller

app/Http/Controllers/Api/RepliesController.php

.
.
.
    public function destroy(Topic $topic, Reply $reply)
    {
        if ($reply->topic_id != $topic->id) {
            return $this->response->errorBadRequ...

本文章首发在 LearnKu.com 网站上。

为了保证课程的高品质,我们需要对课程进行收费。付费后 才能观看剩余内容。 购买

上一篇 下一篇
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
贡献者:2
讨论数量: 7

zssen
topics 表的 reply_count 都为 0,删除时会报错
2 个点赞 | 6 个回复 | 分享 | 课程版本 5.5
hehorange
删除回复还需要 topic_id 是不是多余了?
1 个点赞 | 4 个回复 | 问答 | 课程版本 5.5
TF
删除回复全部返回 403?
0 个点赞 | 6 个回复 | 问答 | 课程版本 5.5
xinxinx
为什么id为1的账号删除不了别人的回复?
0 个点赞 | 5 个回复 | 问答 | 课程版本 8.x
剑歌丶
怎么时不时的就显示`This action is unauthorized`?
0 个点赞 | 4 个回复 | 问答 | 课程版本 5.5
Geekc
白衣落水
删除话题和删除回复的路由命名不一致
0 个点赞 | 1 个回复 | 分享 | 课程版本 5.5