- #laravel
- #eloquent
- #tip
Cómo detectar cambios en modelos Eloquent de Laravel
Escrito por Jhon Achata el 3 de setiembre de 2023
En este artículo, te presentaremos una valiosa funcionalidad de los modelos Eloquent en Laravel que te permite identificar qué campos se han actualizado al ejecutar una operación de actualización en un modelo. Aprenderemos cómo funciona este proceso y cómo puedes aprovecharlo en tus proyectos.
Entendiendo la funcionalidad
Primero, echemos un vistazo a cómo funciona esta característica. Supongamos que tenemos el siguiente modelo llamado Product
:
Ahora, realizamos una actualización en un registro de este modelo utilizando el método update
:
Identificando cambios
Una vez que hemos realizado la actualización, podemos utilizar el método getChanges()
en el modelo para obtener una lista de los campos que se han modificado, junto con la fecha de actualización en el campo updated_at
:
Consideraciones importantes
Es importante tener en cuenta que si en el array pasado al método update
incluimos un campo con el mismo contenido que el valor original, este no se incluirá en la lista de cambios devuelta por getChanges()
. Por ejemplo:
En este caso, al utilizar el método getChanges()
, solo obtendremos el campo title
en la lista de cambios:
Conclusión
Esta funcionalidad es especialmente útil para llevar un registro de las modificaciones en tus modelos Eloquent y realizar acciones específicas en función de los cambios detectados. ¡Espero que esta información te sea útil en tus proyectos Laravel!