'boolean', 'created_at' => 'datetime', 'updated_at' => 'datetime', ]; /** * Scope para filtrar mensajes no leídos */ public function scopeNoLeidos(Builder $query): Builder { return $query->where('leido', false); } /** * Marcar mensaje como leído */ public function marcarLeido(): bool { return $this->update(['leido' => true]); } /** * Marcar mensaje como no leído */ public function marcarNoLeido(): bool { return $this->update(['leido' => false]); } /** * Obtener iniciales del nombre */ public function getInicialesAttribute(): string { $nombres = explode(' ', $this->nombre); $iniciales = ''; foreach ($nombres as $nombre) { if (! empty($nombre)) { $iniciales .= strtoupper($nombre[0]); } } return $iniciales; } }