From 0bdba12a0e975619f675e72e8063d694dd76348e Mon Sep 17 00:00:00 2001 From: Kilian Hofmann Date: Sun, 15 Aug 2021 23:05:46 +0200 Subject: [PATCH] Exam create with 10 random questions --- models/ExamMemberRank.php | 18 ++++++++++++++++++ models/ExamTyperating.php | 20 ++++++++++++++++++-- 2 files changed, 36 insertions(+), 2 deletions(-) diff --git a/models/ExamMemberRank.php b/models/ExamMemberRank.php index ba7af07..1b6b436 100644 --- a/models/ExamMemberRank.php +++ b/models/ExamMemberRank.php @@ -65,6 +65,24 @@ class ExamMemberRank extends Model }); } + public static function createNew($member_id, $member_rank_id) + { + $exam = new ExamMemberRank(); + $exam->member_id = $member_id; + $exam->typerating_id = $typerating_id; + + $entry = []; + $questions = ExamMemberRankQuestion::where('member_rank_id', $member_rank_id) + ->get() + ->random(10); + foreach ($questions as $question) { + array_push($entry, ['exam_question_id' => $question->id]); + } + + $exam->exam_questions = $entry; + $exam->save(); + } + public function grade() { $this->load([ diff --git a/models/ExamTyperating.php b/models/ExamTyperating.php index 7866c64..3f81763 100644 --- a/models/ExamTyperating.php +++ b/models/ExamTyperating.php @@ -27,8 +27,6 @@ class ExamTyperating extends Model public $rules = [ 'member_id' => 'required', 'typerating_id' => 'required', - 'start' => 'required', - 'status' => 'required', ]; public $belongsTo = [ @@ -65,6 +63,24 @@ class ExamTyperating extends Model }); } + public static function createNew($member_id, $typerating_id) + { + $exam = new ExamTyperating(); + $exam->member_id = $member_id; + $exam->typerating_id = $typerating_id; + + $entry = []; + $questions = ExamTyperatingQuestion::where('typerating_id', $typerating_id) + ->get() + ->random(10); + foreach ($questions as $question) { + array_push($entry, ['exam_question_id' => $question->id]); + } + + $exam->exam_questions = $entry; + $exam->save(); + } + public function grade() { $this->load([