From 52d3503ddc61896b0d8e133b7fccc50e2787ab67 Mon Sep 17 00:00:00 2001 From: Ibrahim Khail Shakil Date: Wed, 20 Dec 2023 09:23:44 +0600 Subject: [PATCH] created watchlist table --- app/Http/Controllers/WatchlistController.php | 65 +++++++++++++++++++ app/Models/Watchlist.php | 11 ++++ ...023_11_26_153844_create_progress_table.php | 2 +- ...3_12_20_031354_create_watchlists_table.php | 37 +++++++++++ 4 files changed, 114 insertions(+), 1 deletion(-) create mode 100644 app/Http/Controllers/WatchlistController.php create mode 100644 app/Models/Watchlist.php create mode 100644 database/migrations/2023_12_20_031354_create_watchlists_table.php diff --git a/app/Http/Controllers/WatchlistController.php b/app/Http/Controllers/WatchlistController.php new file mode 100644 index 0000000..3bfef0a --- /dev/null +++ b/app/Http/Controllers/WatchlistController.php @@ -0,0 +1,65 @@ +unsignedBigInteger('last_viewed_material_id')->index()->nullable(); $table->timestamp('last_viewed_at')->nullable(); $table->timestamps(); - $table->softDeletes(); + $table->softDeletes(); $table->foreign('student_id')->references('id')->on('students')->onDelete('cascade'); $table->foreign('course_id')->references('id')->on('courses')->onDelete('cascade'); diff --git a/database/migrations/2023_12_20_031354_create_watchlists_table.php b/database/migrations/2023_12_20_031354_create_watchlists_table.php new file mode 100644 index 0000000..0e249c2 --- /dev/null +++ b/database/migrations/2023_12_20_031354_create_watchlists_table.php @@ -0,0 +1,37 @@ +id(); + $table->unsignedBigInteger('student_id')->index(); + $table->unsignedBigInteger('course_id')->index(); + $table->unsignedBigInteger('lesson_id')->index(); + $table->unsignedBigInteger('material_id')->index(); + $table->timestamps(); + $table->softDeletes(); + + $table->foreign('student_id')->references('id')->on('students')->onDelete('cascade'); + $table->foreign('course_id')->references('id')->on('courses')->onDelete('cascade'); + $table->foreign('lesson_id')->references('id')->on('lessons')->onDelete('cascade'); + $table->foreign('material_id')->references('id')->on('materials')->onDelete('cascade'); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('watchlists'); + } +};