Laravel技巧集锦(十):使用关联模型(点赞-文章-用户)

版权声明:http://www.itchuan.net https://blog.csdn.net/sinat_37390744/article/details/88086176

此文章主要说明点赞业务逻辑,具体项目需要使用ajax无刷新点赞操作,参见另一篇文章

Laravel技巧集锦(20):使用jq/ajax实现文章点赞/取消点赞

1、Model Post.php

    //判断此文章是否被该用户赞过
    public function zan($user_id){
        return $this->hasOne(\App\Zan::class)->where('user_id',$user_id);
    }

    //获取点赞刺文章的赞的模型
    public function zans(){
        return $this->hasMany(\App\Zan::class);
    }

2、前台页面判断显示 赞/取消赞 按钮

@if($post->zan(\Auth::id())->exists())
   <a href="/posts/{{$post->id}}/unzan" type="button" >取消赞</a>
@else
   <a href="/posts/{{$post->id}}/zan" type="button" >赞</a>
@endif

3、PostController控制器判断

 public function zan(Post $post){

        $param = [
            'user_id' => \Auth::id(),
            'post_id' => $post->id
        ];

        Zan::firstOrCreate($param);
        return back();
    }

    public function unzan(Post $post){

        $post->zan(\Auth::id())->delete();
        return back();

    }

猜你喜欢

转载自blog.csdn.net/sinat_37390744/article/details/88086176