id(); $table->foreignId('teacher_subject_id')->nullable()->constrained('teacher_subjects'); $table->foreignId('student_id')->constrained('students'); $table->date('date'); $table->enum('status', ['present', 'absent', 'permission', 'sick']); $table->foreignId('recorded_by')->constrained('users'); $table->string('semester'); $table->text('notes')->nullable(); $table->timestamps(); $table->unique(['teacher_subject_id', 'student_id', 'date', 'semester']); $table->softDeletes(); }); } /** * Reverse the migrations. */ public function down(): void { Schema::dropIfExists('attendances'); } };