Lumen企业站内容管理实战 - 文章的发布与删除

文章的发布与删除

在文章控制器中,写两个方法

    /**
     * 修改文章状态
     * @param int $id
     * @return \Illuminate\Http\JsonResponse
     */
    public function status(int $id)
    {
        // todo 数据验证

        $article = Article::where('id', $id)->first();
        if (empty($article->id)) {
            $this->response->setMsg(400, '信息不存在');
            return $this->response->responseJSON();
        }


        Article::release($article);

        $this->response->setData(['status' => (int)$article->is_release]);
        return $this->response->responseJSON();
    }


    /**
     * 删除
     * @param array $ids
     * @return bool
     */
    public static function del(array $ids)
    {

        return Article::whereIn('id', $ids)->update(['is_del' => 1]);
    }

 前端使用/admin/article/del接口,参数是文章ID的数组,单独删除和批量删除公用这个一个接口,单独删除就是批量删除的特殊情况。文章的模型是批量删除的,这里是逻辑删除,并不没有真的把数据从数据库中删除掉。文章模型删除的方法

    /**
     * 删除
     * @param Article $article
     * @return bool
     */
    public static function del(Article $article)
    {

        $article->is_del = 1;
        return $article->update();
    }

文章的开启和停用,使用/admin/article/status/{id}接口,最后那个{id}是文章的id,指明是切换该条信息的发不状态。模型层代码如下

    /**
     * 发布文章
     * @param Article $article
     * @return bool
     */
    public static function release(Article $article)
    {
        $article->is_release = !$article->is_release;
        return $article->update();
    }

每次调用该接口,一定是为了把当前的状态改为另外一个状态,因为只有两个状态,先取出该条文章的发不状态,然后更新为另外一个状态即可,我这里是取非操作,比如当前状态是1,取非后就是0,当前状态是0,取非后就是1。

完。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wangpeng52758

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值