public function like(Article $article, Request $request) { $user = Auth::user(); $value = $request->input('value'); $isLiked = $article->likedany($user->id); if (!$isLiked) { if ($value == 1) { $article->like($user->id); $isLiked = 1; } elseif ($value == -1) { $article->dislike($user->id); $isLiked = -1; } } elseif ($isLiked == $value) { $article->unlike($user->id); $isLiked = 0; } elseif ($isLiked != $value) { $article->revertlike($user->id); if ($isLiked == 1) { $isLiked = -1; } elseif ($isLiked == -1) { $isLiked = 1; } } return ['num_like' => $article->num_like, 'is_liked' => $isLiked]; }