public function vote(Poll $poll, Request $request) { $user = Auth::user(); if (Vote::where('user_id', $user->id)->where('poll_id', $poll->id)->exists()) { return ['hasCallback' => 0, 'callback' => '', 'hasMsg' => 1, 'msgType' => 'danger', 'msg' => 'you have beed voted', 'returns' => '']; } Vote::create(['user_id' => $user->id, 'poll_id' => $poll->id, 'parameter_id' => $request->input('vote')]); Parameter::find($request->input('vote'))->addVote(); $parameters = $poll->parameters()->get(); $total_votes = $parameters->sum('num_vote'); if ($total_votes == 0) { $total_votes = 1; } return ['hasCallback' => 1, 'callback' => 'poll_voted', 'hasMsg' => 1, 'msg' => 'Voted Successfull', 'returns' => ['total_votes' => $total_votes, 'parameters' => $parameters]]; }
private function pollPreview(Poll $poll) { $parameters = $poll->parameters()->get(); $total_votes = $parameters->sum('num_vote'); if ($total_votes == 0) { $total_votes = 1; } return view('partials.pollPreview', compact('poll', 'parameters', 'total_votes'))->render(); }