'array', 'tool_inventory' => 'array', 'certification_records' => 'array', 'profile_visibility' => 'array', 'public_contact' => 'boolean', ]; } public function user(): BelongsTo { return $this->belongsTo(User::class); } public function externalImports(): HasMany { return $this->hasMany(ExternalProfileImport::class); } public function attachments(): MorphMany { return $this->morphMany(Attachment::class, 'attachable'); } public function ratings(): MorphMany { return $this->morphMany(Rating::class, 'rateable'); } public function visible(string $field): bool { $visibility = $this->profile_visibility ?? []; return (bool) ($visibility[$field] ?? true); } }