简单文章点赞,一个文章表足够

在这里插入图片描述
在这里插入图片描述


    /**
     * 攻略点赞
     * @ApiMethod   (POST)
     * @ApiParams  (name="id", type=string, required=true, description="攻略id")
     * @ApiWeigh (85)
     */
    public function thumbsUp()
    {
        $uid = $this->auth->getUser()->id;
        $travel_id = $this->request->param('id');
        if($travel_id == ''){
            $this->error('出现未知错误');
        }
        $travel_guide_info = Db::name('travel_guide')->where('id',$travel_id)->find();
        $like_array = unserialize($travel_guide_info['like_user_ids']);
        if($like_array == ''){
         //空数组,点赞
            $like_array[] = $uid;
            $like_times = $travel_guide_info['like_times'] + 1;
        }elseif (in_array($uid,$like_array)){
        //id在这个数组中,就是取消点赞
            $like_array = array_diff($like_array,array($uid));
            $like_times = $travel_guide_info['like_times'] - 1;
        }else{
        //没有在数组中,点赞
            $like_array[] = $uid;
            $like_times = $travel_guide_info['like_times'] + 1;
        }
        if($like_array == ''){
            $new_like = '';
        }else{
            $new_like = serialize($like_array);
        }
        if($like_times <= 0){
            $like_times = 0;
        }
        $result = Db::name('travel_guide')->where('id',$travel_id)->update(['like_user_ids'=>$new_like,'like_times'=>$like_times]);
        if($result){
            $this->success('操作成功');
        }else{
            $this->error('操作失败');
        }
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值