logo Buffalo slack logo
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:

Contenido Relacionado

  • Modelos - Define un modelo de base de datos.