belongsTo(Course::class); } public function course_section() { return $this->belongsTo(CourseSection::class); } public function forums(): HasMany { return $this->hasMany(CourseForum::class)->orderBy('created_at', 'desc'); } public function resources(): HasMany { return $this->hasMany(LessonResource::class)->orderBy('created_at', 'desc'); } protected static function booted() { static::creating(function ($lesson) { $lastLesson = self::orderBy('lesson_number', 'desc')->first(); $lesson->lesson_number = $lastLesson ? $lastLesson->lesson_number + 1 : 1; }); } }