'array', 'locations' => 'array', 'profile_visibility' => 'array', 'public_contact' => 'boolean', ]; } public function user(): BelongsTo { return $this->belongsTo(User::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); } }