/** * Determine number of times the application has been reviewed */ public function getReviewsAttribute() { return ApplicationRating::where('application_id', $this->id)->get()->count(); }
public function rateApplication(Request $request, $id) { if (!Auth::user()->hasRole('exec')) { //TODO middleware perhaps? return; } $user = Auth::user(); $rating = $request->all()['rating']; $ranking = ApplicationRating::firstOrNew(['application_id' => intval($id), 'user_id' => $user->id]); $ranking->application_id = intval($id); $ranking->user_id = $user->id; $ranking->rating = $rating; $ranking->save(); return ['next' => self::getNextApplicationID()]; }