public function storeCopy($id, CreateExerciseRequest $request) { $input = $request->all(); $exercise = new Exercise(); $exercise->question = $input['question']; $exercise->tips = $input['tips']; $exercise->start_code = $input['start_code']; $exercise->expected_result = $input['expected_result']; $exercise->seriesId = $input['series_selection']; $exercise->makerId = Auth::id(); $exercise->language = $input['language']; storeExercise($exercise); $userIds = loadUsersBeganSeries($input['series_selection']); foreach ($userIds as $userId) { if ($userId->uId != loadSerieWithIdOrTitle($id)[0]->makerId) { storeNotification($userId->uId, 'series updated', -1, $input['series_selection']); } } storeNotification($input['makerId'], "exercise copied", -1, $input['series_selection']); return redirect('series/' . $input['series_selection']); }
function loadUsersBeganSeries($series_id) { $sId = loadSerieWithIdOrTitle($series_id)[0]->id; return DB::select('SELECT DISTINCT A.uId FROM series S JOIN exercises_in_series EXS ON S.id = EXS.seriesId JOIN exercises E ON EXS.exId = E.id JOIN answers A ON E.id = A.eId WHERE S.id = ?', [$sId]); }