getTable()); } protected static function booted(): void { static::addGlobalScope(new CompanyScope); } public function files() { return $this->hasMany(File::class)->orderByDesc("version"); } public function namingRule(): BelongsTo { return $this->belongsTo(NamingRule::class); } public function parent(): BelongsTo { return $this->belongsTo(Folder::class, 'parent_id'); } public function children(): HasMany { return $this->hasMany(Folder::class, 'parent_id'); } public function container(): BelongsTo { return $this->belongsTo(Container::class, 'object_id'); } public function library(): HasOneThrough { return $this->hasOneThrough(Library::class, Container::class, 'id', 'id', 'object_id', 'library_id'); } public function createdBy(): BelongsTo { return $this->belongsTo(User::class, "created_by"); } public function updatedBy(): BelongsTo { return $this->belongsTo(User::class, "updated_by"); } }