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
Asociaciones Uno a Uno
Base de datos
Asociaciones Uno a Uno
En este capítulo, aprenderás a como escribir una asociación uno a uno en Pop.
Tags
Las asociaciones Uno a Uno usan un par de tags:
belongs_to
para el modelo con una llave foránea.has_one
para un modelo sin llave foránea.
Ejemplo
// Models
type Head struct {
ID int
BodyID int `db:"body_id"`
Body *Body `belongs_to:"body"`
}
type Body struct {
ID int
Head Head `has_one:"head"`
}
// Creación con Eager:
// Crear un `Body` con su `Head`.
b := &models.Body{
Head: models.Head{},
}
if err := tx.Eager().Create(b); err != nil {
return err
}
// Buscar todos los `Bodies` con sus `Head` usando Eager.
bodies = &models.Bodies{}
if err := c.Eager().All(bodies); err != nil {
log.Printf("err: %v", err)
return
}
log.Printf("eager fetch: %v", bodies)
Contenido Relacionado
- Associations with Pop: 1 to 1 - Un artículo sobre asociaciones 1 a 1 en Pop.