Associação "Belongs To" em Go com GORM
Hoje, vamos explorar como usar a associação "belongs to" (pertence a) em conjunto com o GORM, um ORM (Object-Relational Mapping) para Go, para criar relacionamentos entre tabelas em bancos de dados.
O que é uma Associação "Belongs To"?
A associação "belongs to" é um tipo de relação entre duas tabelas em um banco de dados, em que uma tabela é considerada "pertencente a" outra tabela. Isso geralmente significa que uma tabela tem uma chave estrangeira que referencia a chave primária da outra tabela.
Como Usar "Belongs To" com GORM:
Com o GORM, definimos uma associação "belongs to" entre duas estruturas de dados (modelos) usando tags específicas. Vamos dar uma olhada em um exemplo prático.
Exemplo Prático:
Digamos que temos duas entidades: Product (Produto) e Category (Categoria). Cada produto pertence a uma categoria específica. Vamos criar esses modelos e definir a associação "belongs to" entre eles.
type Product struct {
ID uint
Name string
Category Category `gorm:"foreignkey:CategoryID"`
CategoryID uint
}
type Category struct {
ID uint
Name string
}
No modelo Product, estamos definindo uma associação "belongs to" com Category. A tag gorm:"foreignkey:CategoryID" especifica que a chave estrangeira para a categoria está em CategoryID.
Criando e Recuperando Dados:
Agora, podemos criar e recuperar dados associados usando o GORM. Veja como podemos fazer isso:
// Criando um novo produto associado a uma categoria existente
category := Category{Name: "Eletrônicos"}
db.Create(&category)
product := Product{Name: "Laptop", CategoryID: category.ID}
db.Create(&product)
// Recuperando um produto e sua categoria associada
var laptop Product
db.Preload("Category").First(&laptop, 1)
A associação "belongs to" nos permite criar relacionamentos entre diferentes tabelas em um banco de dados de forma fácil e eficaz.
Usar associações em GORM para criar relações entre modelos de dados em nossas aplicações nos permite estruturar nossos dados de forma mais eficaz e criar aplicações mais poderosas e flexíveis.
Até a próxima!
Comentários
Postar um comentário