Como empezar
- Instalar Buffalo
- Generando Nuevo Proyecto
- Estructura de Directorio
- Configuración
- Integracion de Herramientas
Gestión de Peticiones
- Enrutamiento
- Controlador de Acciones
- Recursos
- Contexto
- Vinculación de Peticiones
- Middleware
- Manejo de Errores
- Sesiones
- Cookies
Frontend
- Renderizado
- Plantillas
- Diseños
- Parciales
- Helpers
- Helpers Personalizados
- Mensajes Flash
- Formularios
- Recursos
Base de datos
- Iniciando con Pop
- Soda CLI
- Configuración de base de datos
- Integración con Buffalo
- Modelos
- Generadores
- Migraciones
- Fizz
- Mutaciones
- Consultas
- Consultas SQL nativo
- Callbacks
- Scoping
- Asociaciones y Relaciones
- Asociaciones Uno a Uno
- Asociaciones Uno a Muchos
Guías
- Aplicaciones API
- Carga de archivos
- Ejecuciones en segundo plano
- Mailers
- Tareas
- Plugins
- Local Authentication
- Third Party Authentication
- Eventos
- Go Modules
- Localización
- Registros
- Motores de Plantillas
- Pruebas
- Videos
Deploy
Callbacks
Base de datos
Callbacks
Pop proporciona una forma para ejecutar código antes y despues de una operación de base de datos. Esto se hace definiendo métodos específicos para tus modelos.
Por ejemplo, para codificar una contraseña de usuario, es posible que desees definir el siguiente método:
type User struct {
ID uuid.UUID
Email string
Password string
}
func (u User) BeforeCreate(tx *pop.Connection) error {
hash, err := bcrypt.GenerateFromPassword([]byte(u.Password), bcrypt.DefaultCost)
if err != nil {
return errors.WithStack(err)
}
u.Password = string(hash)
return nil
}
En el ejemplo anterior, cuando se llama al método Save
de la conexión con un User
, se llamará al método BeforeCreate
antes de escribir en la base de datos.
La lista de callbacks disponibles incluye:
- BeforeSave
- BeforeCreate
- BeforeUpdate
- BeforeDestroy
- BeforeValidate
- AfterSave
- AfterCreate
- AfterUpdate
- AfterDestroy
- AfterFind
Contenido Relacionado
- Modelos - Define un modelo de base de datos.