App\Http\Controllers\CommentsController::vote PHP Méthode

vote() public méthode

Vote up or down for the given comment.
public vote ( Illuminate\Http\Request $request, $id ) : Illuminate\Http\JsonResponse
$request Illuminate\Http\Request
$id
Résultat Illuminate\Http\JsonResponse
    public function vote(Request $request, $id)
    {
        $this->validate($request, ['vote' => 'required|in:up,down']);
        if (Vote::whereCommentId($id)->whereUserId($request->user()->id)->exists()) {
            return response()->json(['errors' => 'Already voted!'], 409);
        }
        $comment = Comment::findOrFail($id);
        $up = $request->input('vote') == 'up' ? true : false;
        $comment->votes()->create(['user_id' => $request->user()->id, 'up' => $up ? 1 : null, 'down' => $up ? null : 1, 'voted_at' => \Carbon\Carbon::now()->toDateTimeString()]);
        return response()->json(['voted' => $request->input('vote'), 'value' => $comment->votes()->sum($request->input('vote'))]);
    }