diff --git a/app/Models/Question.php b/app/Models/Question.php index 04d2746..0374b53 100755 --- a/app/Models/Question.php +++ b/app/Models/Question.php @@ -40,6 +40,11 @@ class Question extends Model return $this->hasMany(QuestionMatchingPair::class); } + public function orderingItems(): HasMany + { + return $this->hasMany(QuestionOrderingItem::class); + } + public function responses(): HasMany { return $this->hasMany(TestResponse::class); diff --git a/app/Models/QuestionOrderingItem.php b/app/Models/QuestionOrderingItem.php new file mode 100755 index 0000000..2128aab --- /dev/null +++ b/app/Models/QuestionOrderingItem.php @@ -0,0 +1,10 @@ +id(); $table->foreignId('test_id')->constrained()->onDelete('cascade'); - $table->enum('type', ['single_choice', 'multiple_choice', 'input', 'matching'])->default('single_choice'); + $table->enum('type', ['single_choice', 'multiple_choice', 'matching', 'ordering'])->default('multiple_choice'); $table->text('question_text'); $table->text('explanation')->nullable(); $table->integer('score')->default(1); diff --git a/database/migrations/2026_03_27_011503_add_ordering_to_questions_type.php b/database/migrations/2026_03_27_011503_add_ordering_to_questions_type.php new file mode 100755 index 0000000..1b3a0a7 --- /dev/null +++ b/database/migrations/2026_03_27_011503_add_ordering_to_questions_type.php @@ -0,0 +1,33 @@ +id(); + $table->foreignId('question_id')->constrained()->onDelete('cascade'); + $table->string('item_text'); + $table->integer('correct_order'); + $table->integer('sort_order')->default(0); + $table->timestamps(); + + $table->index('question_id'); + }); + } + + public function down(): void + { + Schema::dropIfExists('question_ordering_items'); + DB::statement("ALTER TABLE questions MODIFY COLUMN type ENUM('single_choice', 'multiple_choice', 'input', 'matching') NOT NULL"); + } +}; diff --git a/database/migrations/2026_03_27_014918_add_image_to_answers_table.php b/database/migrations/2026_03_27_014918_add_image_to_answers_table.php new file mode 100755 index 0000000..13f4a10 --- /dev/null +++ b/database/migrations/2026_03_27_014918_add_image_to_answers_table.php @@ -0,0 +1,28 @@ +