diff --git a/app/Models/Note.php b/app/Models/Note.php new file mode 100644 index 0000000..bbfb390 --- /dev/null +++ b/app/Models/Note.php @@ -0,0 +1,36 @@ +morphTo(); + } + + /** + * Get the user who authored this note + */ + public function author(): BelongsTo + { + return $this->belongsTo(User::class, 'author_user_id'); + } +} diff --git a/database/migrations/2026_02_13_120230_create_notes_table.php b/database/migrations/2026_02_13_120230_create_notes_table.php new file mode 100644 index 0000000..8b5da08 --- /dev/null +++ b/database/migrations/2026_02_13_120230_create_notes_table.php @@ -0,0 +1,31 @@ +id(); + $table->morphs('notable'); // Creates notable_type, notable_id with composite index + $table->longText('content'); + $table->foreignId('author_user_id')->constrained('users')->cascadeOnDelete(); + $table->timestamps(); + $table->index('created_at'); // For chronological sorting + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('notes'); + } +};