From 0b6df835fc890a3784debcb139fd7d792f7b65c3 Mon Sep 17 00:00:00 2001 From: sundayenglish Date: Thu, 26 Jun 2025 11:29:50 +0700 Subject: [PATCH] Add Model --- app/Models/Category.php | 25 ++++++++++++++++ app/Models/Exercise.php | 50 ++++++++++++++++++++++++++++++++ app/Models/ExerciseQuestion.php | 18 ++++++++++++ app/Models/Media.php | 23 +++++++++++++++ app/Models/Question.php | 51 +++++++++++++++++++++++++++++++++ app/Models/QuestionBlank.php | 24 ++++++++++++++++ app/Models/QuestionChoice.php | 27 +++++++++++++++++ app/Models/QuestionGroup.php | 33 +++++++++++++++++++++ app/Models/QuestionType.php | 24 ++++++++++++++++ app/Models/Skill.php | 23 +++++++++++++++ app/Models/Subject.php | 10 +++++++ 11 files changed, 308 insertions(+) create mode 100644 app/Models/Category.php create mode 100644 app/Models/Exercise.php create mode 100644 app/Models/ExerciseQuestion.php create mode 100644 app/Models/Media.php create mode 100644 app/Models/Question.php create mode 100644 app/Models/QuestionBlank.php create mode 100644 app/Models/QuestionChoice.php create mode 100644 app/Models/QuestionGroup.php create mode 100644 app/Models/QuestionType.php create mode 100644 app/Models/Skill.php create mode 100644 app/Models/Subject.php diff --git a/app/Models/Category.php b/app/Models/Category.php new file mode 100644 index 0000000..0034167 --- /dev/null +++ b/app/Models/Category.php @@ -0,0 +1,25 @@ +hasMany(Exercise::class, 'category_id'); + } +} diff --git a/app/Models/Exercise.php b/app/Models/Exercise.php new file mode 100644 index 0000000..4332595 --- /dev/null +++ b/app/Models/Exercise.php @@ -0,0 +1,50 @@ +belongsTo(Subject::class, 'subject_id'); + } + + public function category() + { + return $this->belongsTo(Category::class, 'category_id'); + } + + public function skill() + { + return $this->belongsTo(Skill::class, 'skill_id'); + } + + public function questionGroups() + { + return $this->hasMany(QuestionGroup::class, 'exercise_id'); + } + + public function questions() + { + return $this->hasMany(Question::class, 'exercise_id'); + } +} diff --git a/app/Models/ExerciseQuestion.php b/app/Models/ExerciseQuestion.php new file mode 100644 index 0000000..e83becb --- /dev/null +++ b/app/Models/ExerciseQuestion.php @@ -0,0 +1,18 @@ +belongsTo(Exercise::class, 'exercise_id'); + } + + public function group() + { + return $this->belongsTo(QuestionGroup::class, 'group_id'); + } + + public function type() + { + return $this->belongsTo(QuestionType::class, 'question_type_id'); + } + + public function choices() + { + return $this->hasMany(QuestionChoice::class, 'question_id'); + } + + public function blanks() + { + return $this->hasMany(QuestionBlank::class, 'question_id'); + } +} diff --git a/app/Models/QuestionBlank.php b/app/Models/QuestionBlank.php new file mode 100644 index 0000000..235ad61 --- /dev/null +++ b/app/Models/QuestionBlank.php @@ -0,0 +1,24 @@ +belongsTo(Question::class, 'question_id'); + } +} diff --git a/app/Models/QuestionChoice.php b/app/Models/QuestionChoice.php new file mode 100644 index 0000000..a96d9f1 --- /dev/null +++ b/app/Models/QuestionChoice.php @@ -0,0 +1,27 @@ +belongsTo(Question::class, 'question_id'); + } +} diff --git a/app/Models/QuestionGroup.php b/app/Models/QuestionGroup.php new file mode 100644 index 0000000..5f20cd5 --- /dev/null +++ b/app/Models/QuestionGroup.php @@ -0,0 +1,33 @@ +belongsTo(Exercise::class, 'exercise_id'); + } + + public function questions() + { + return $this->hasMany(Question::class, 'group_id'); + } +} diff --git a/app/Models/QuestionType.php b/app/Models/QuestionType.php new file mode 100644 index 0000000..124e3d7 --- /dev/null +++ b/app/Models/QuestionType.php @@ -0,0 +1,24 @@ +hasMany(Question::class, 'question_type_id'); + } +} diff --git a/app/Models/Skill.php b/app/Models/Skill.php new file mode 100644 index 0000000..fbdf0ee --- /dev/null +++ b/app/Models/Skill.php @@ -0,0 +1,23 @@ +hasMany(Exercise::class, 'skill_id'); + } +} diff --git a/app/Models/Subject.php b/app/Models/Subject.php new file mode 100644 index 0000000..44c8f7f --- /dev/null +++ b/app/Models/Subject.php @@ -0,0 +1,10 @@ +