DEV Community

Cover image for Detectar campo modificado al guardar un modelo en Laravel
Marc Garcia Torrent for Marc Garcia - Magarrent

Posted on

Detectar campo modificado al guardar un modelo en Laravel

Bienvenido a a tod@s!

Este es un post muy corto solo para dejaros este pequeño Snippet de Laravel.

Se trata de detectar cuando el campo de un modelo de Laravel ha sido modificado, en este caso el campo email de un usuario:

// El evento se disparará cuando se haya actualizado un registro del modelo
static::updated(function ($userModel) {

    // Vemos si el campo email ha sido modificado con getDirty()
    if(isset($userModel->getDirty()['email'])) {
        // el campo "email" ha sido modificado
    }

});
Enter fullscreen mode Exit fullscreen mode

Top comments (3)

Collapse
 
arielmejiadev profile image
Ariel Mejia

Muy buen post felicidades, por cierto también es posible evaluar de forma general si el modelo a sido modificado con el método isDirty(), puedes hacer una validación parecida:

if ($user->isDirty()) {
    // do something when model has been modified
}
Enter fullscreen mode Exit fullscreen mode
Collapse
 
magarrent profile image
Marc Garcia Torrent

Hola @arielmejiadev !! Claro, isDirty() es muy bueno para detectar si cualquier campo se ha modificado.
En este caso me interesaba leer solo cuando el campo email en concreto se ha actualizado.

Creo que esto se merece un vídeo de explicación! Voy a empezar a colgar tutoriales en mi canal:

youtube.com/channel/UC-NomyV-nhbRK...

Saludos!

Collapse
 
arielmejiadev profile image
Ariel Mejia

Vue-nisimo saludos Marc y si animate!