Ir al contenido principal

Entradas

Mostrando las entradas etiquetadas como atributos de eloquent

Eloquent, atributos dinámicos y autocompletado en PHP y en Typescript

 Tengo un modelo Eloquent que fue generado con asistencia de IA. El modelo es Paciente: class Paciente extends Model. Y tiene métodos que hacen algo con los atributos del modelo, algo que todavía no entiendo bien. Estos son:     public function getFullNameAttribute()     public function getFormattedAddressAttribute()     public function getFormattedPhoneAttribute()     public function getSocialSecurityInfoAttribute() ¿Por qué el asistente de código de IA hizo que todos estos métodos que él creó sean nombrados de modo que todos llevan el sufijo Attribute? La IA lo hizo así porque está siguiendo una convención propia de Eloquent . Esos métodos no son métodos "comunes", sino accessors (accesores), es decir, métodos especiales que Laravel invoca automáticamente cuando accedes a un atributo del modelo. Por ejemplo, si tienes: class Paciente extends Model { public function getFullNameAttribute() { return "{$this->apellido}, {$th...