public static function getAccountEventRegistrationData($evtId, $account = null) { if (is_null($account)) { $account = Auth::user(); } //No user logged in if (is_null($account)) { return []; } $attendances = UserEvent::where('eventID', $evtId)->whereHas('user', function ($query) use($account) { $query->where('accountID', $account->id); })->get(); $attendees = []; foreach ($attendances as $a) { $attendees[] = ["userId" => $a->userID, "registrationId" => $a->id]; } return $attendees; }
/** * Register the user given the userID to the event given the eventID. * @param int $id, int $eventId * @return Response */ public function register(Request $req, $id) { $event = Event::find($id); if (is_null($event)) { return response()->json(["message" => "no_such_event"], 404); } $this->validateInputIDs($req); $idList = $req->input('ids'); if (!CheckDependents::dependentsOkay($idList)) { return response()->json(["message" => "bad_dependents"], 400); } if (!$this->checkConferenceAttendees($id, $idList)) { return response()->json(["message" => "not_in_conference"], 400); } $eventUser = UserEvent::where('eventID', $id)->whereIn('userID', $idList)->get(); if (count($eventUser) > 0) { return response()->json(["message" => "already_registered"], 400); } $data = array_map(function ($userId) use($id) { return ["userID" => $userId, "eventID" => $id]; }, $idList); UserEvent::insert($data); return UserEvent::select(["id", "userID"])->whereIn("userID", $idList)->get(); }