如何解决当用户点击喜欢按钮然后只显示喜欢按钮
// 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>
我想实现这样的场景:当用户通过点击喜欢按钮喜欢帖子时,只显示喜欢按钮,而不是不喜欢按钮。同样,当用户点击不喜欢按钮时,显示不喜欢按钮,而不是喜欢按钮。
解决方法
我不知道你的控制器是什么样子的,所以这就是我要做的:
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>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。