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
Mutaciones
Base de datos
Mutaciones
En este capitulo, aprenderas como crear, actualizar y eliminar objetos de tu base de datos con Pop.
Crear
Sin Validación
c, err := pop.Connect("development")
// ...
fruit := models.Fruit{}
// Crea `fruit` sin ejecutar validaciones
err := c.Create(&fruit)
Con Validación
c, err := pop.Connect("development")
// ...
fruit := models.Fruit{}
// Ejecuta las validaciones y crea si pasaron todas las validaciones
vErrors, err := c.ValidateAndCreate(&fruit)
Actualizar
Sin Validación
c, err := pop.Connect("development")
// ...
fruit := models.Fruit{}
// Actualiza `fruit` sin ejecutar validaciones
err := c.Update(&fruit)
Con Validación
c, err := pop.Connect("development")
// ...
fruit := models.Fruit{}
// Ejecuta las validaciones y actualiza si pasaron todas las validaciones
vErrors, err := c.ValidateAndUpdate(&fruit)
Guardar
Save
revisa el valor del campo ID del modelo: Si el ID es el valor cero del tipo (por ejemplo, si es de tipo int
y su valor es 0
), Save
llama al metodo Create
; de lo contrario, llama al metodo Update
.
Sin Validación
c, err := pop.Connect("development")
// ...
fruit := models.Fruit{ID: 0}
// Crea `fruit` sin ejecutar validaciones
err := c.Save(&fruit)
c, err := pop.Connect("development")
// ...
fruit := models.Fruit{ID: 1}
// Actualiza `fruit` sin ejecutar validaciones
err := c.Save(&fruit)
Con validación
c, err := pop.Connect("development")
// ...
fruit := models.Fruit{ID: 0}
// Ejecuta las validaciones y crea si pasaron todas las validaciones
vErrors, err := c.ValidateAndSave(&fruit)
c, err := pop.Connect("development")
// ...
fruit := models.Fruit{ID: 1}
// Ejecuta las validaciones y actualiza si pasaron todas las validaciones
vErrors, err := c.ValidateAndSave(&fruit)
Eliminar
c, err := pop.Connect("development")
// ...
fruit := models.Fruit{ID: 1}
// Borrar fruit
err := c.Destroy(&fruit)
Siguientes pasos
- Consultas - Consulta datos de tu base de datos.
- Asociaciones y Relaciones - Manejar relaciones entre modelos.