'array', ]; protected static function booted(): void { static::creating(function (CompanyDivision $division): void { $division->uuid ??= (string) Str::uuid(); $division->slug ??= Str::slug($division->name); $division->status ??= 'active'; }); } public function company(): BelongsTo { return $this->belongsTo(Company::class); } public function address(): MorphOne { return $this->morphOne(CompanyAddress::class, 'addressable'); } public function users(): BelongsToMany { return $this->belongsToMany(User::class, 'company_division_user') ->withPivot(['company_id', 'role', 'is_director']) ->withTimestamps(); } public function warehouses(): HasMany { return $this->hasMany(Warehouse::class, 'division_id'); } public function directorAssignments(): HasMany { return $this->hasMany(CompanyDirectorAssignment::class, 'company_division_id'); } }