【问题标题】:When user click on like butten then show only like button当用户点击赞按钮时,只显示赞按钮
【发布时间】:2021-09-18 22:29:24
【问题描述】:
   // LIke the page code    
     public function like($id){

        $user_id = Auth::user()->id;
        $like_user = article_likes::where(
            ['user_id'=>$user_id,
            'article_id' => $id]
        )->first();

        if(empty($like_user->user_id)){
            $user_id = Auth::user()->id;
            $article_id = $id;

            $likes = new article_likes();
            $likes->user_id = $user_id;
            $likes->article_id = $article_id;
            $likes->save();
            return redirect()->back();
        }else{
            return redirect()->back();
        }
    }

     // Dislike the page 
    public function dislike($id){
        $user_id = Auth::user()->id;
        $like_user = article_dislikes::where(
            ['user_id'=>$user_id,
            'article_id' => $id]
        )->first();

        if(empty($like_user->user_id)){
            $user_id = Auth::user()->id;
            $article_id = $id;

            $likes = new article_dislikes();
            $likes->user_id = $user_id;
            $likes->article_id = $article_id;
            $likes->save();
            return redirect()->back();
        }else{
            return redirect()->back();
        }
    }

刀片页面

<div>
  <span class="">You think it is helpfull?</span>
  <a href="{{url('/likes/'.$articles->id)}}" class="btn btn-success btn-sm"><i class="fa fa-thumbs-up"></i></a>
  <a href="{{url('/dislikes/'.$articles->id)}}" class="btn btn-danger  btn-sm"><i class="fa fa-thumbs-down"></i></a>    
</div>

我想实现这样一个场景:当用户通过点击赞按钮点赞帖子时,只显示赞按钮,不显示不赞按钮。同样,当用户点击不喜欢按钮时,显示不喜欢按钮,而不是喜欢按钮。

【问题讨论】:

    标签: php laravel laravel-5 eloquent laravel-4


    【解决方案1】:

    我不知道你的控制器是什么样的,所以我会这样做:

    class ArticleController extends Controller
    {
        public function show(Article $article)
        {
            $dislike_user = article_dislikes::where(
                ['user_id'=>$user_id,
                'article_id' => $id]
            )->first();
    
            $like_user = article_likes::where(
                ['user_id'=>$user_id,
                'article_id' => $id]
            )->first();
    
            $rating = 0;
            if ($like_user !== null) {
                $rating = 1;
            }
            if ($dislike_user !== null) {
                $rating = -1;
            }
            return view('article', compact('article', 'rating'));
        }
    }
    
    <div>
      <span class="">You think it is helpfull?</span>
      @if($rating === 1)
        <a href="{{url('/likes/'.$articles->id)}}" class="btn btn-success btn-sm"><i class="fa fa-thumbs-up"></i></a>
      @endif
      @if($rating === -1)
        <a href="{{url('/dislikes/'.$articles->id)}}" class="btn btn-danger  btn-sm"><i class="fa fa-thumbs-down"></i></a>   
      @endif 
    </div>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-17
      • 1970-01-01
      • 2016-04-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多