'array', 'views' => 'integer', ]; protected function phoneNumber(): Attribute { return Attribute::make( get: fn (mixed $value): string => str_replace(' ', '', $value ?? ''), set: fn (mixed $value): string => str_replace(' ', '', $value ?? ''), ); } protected function formattedPhoneNumber(): Attribute { return Attribute::make( get: function (mixed $value, array $attributes): ?string { $number = str_replace(' ', '', $attributes['phone_number'] ?? ''); for ($i = 3; $i < 12; $i+=4) { $number = substr_replace($number, ' ', $i, 0); } return $number; }, ); } public function info(): HasMany { return $this->hasMany(CVInfo::class, 'cv_id'); } public function getRouteKeyName(): string { return 'token'; } }