Menu

10.6. 删除微博

删除微博

现在我们已能够在主页上看到微博动态流的数据展示了。但现在用户还不能删除自己发布过的微博,让我们来加上删除功能。

授权策略

我们需要使用授权策略来对用户进行授权删除的操作,只有当被删除的微博作者为当前用户,授权才能通过。运行下面命令生成微博授权策略。

$ php artisan make:policy StatusPolicy

我们需要在该授权策略中引入用户模型和微博模型,并添加 destroy 方法定义微博删除动作相关的授权。如果当前用户的 id 与要删除的微博作者 id 相同时,验证才能通过。

app/Policies/StatusPolicy.php

<?php

namespace App\Policies;

use Illuminate\Auth\Access\HandlesAuthorization;
use App\Models\User;
use App\Models\Status;

class StatusPolicy
{
    use HandlesAuthorization;

    public function destroy(User $user, Status $status)
    {
        return $user->id === $status->user_id;
    }
}

不要忘记,我们还需要在 AuthServiceProvider

本文章首发在 Laravel China 社区

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

上一篇 下一篇
讨论数量: 0

暂无话题~
刻意练习,每日精进。
2
点赞
589
浏览
0
讨论
贡献者