Associações "Has One" em Go com GORM
Associações "has one" são um tipo de relação entre duas tabelas em um banco de dados, onde uma tabela pode ter no máximo uma linha associada em outra tabela. É o oposto da relação "belongs to".
Como Usar "Has One" com GORM
No GORM, podemos definir associações "has one" entre duas estruturas de dados usando tags específicas. Vamos ver um exemplo prático para entender melhor.
Exemplo Prático:
Digamos que temos duas entidades: User (Usuário) e Profile (Perfil). Cada usuário tem apenas um perfil associado. Vamos criar esses modelos e definir a associação "has one" entre eles.
type User struct {
gorm.Model
Name string
Profile Profile `gorm:"foreignKey:UserID"`
}
type Profile struct {
gorm.Model
UserID uint
Bio string
}
Aqui, no modelo User, estamos definindo uma associação "has one" com Profile. A tag gorm:"foreignKey:UserID" especifica que a chave estrangeira para o usuário está em UserID.
Criando e Recuperando Dados::
Vamos ver como podemos criar e recuperar dados associados usando o GORM:
// Criando um novo usuário com perfil associado
user := User{Name: "Alice", Profile: Profile{Bio: "Desenvolvedora"}}
db.Create(&user)
// Recuperando um usuário e seu perfil associado
var alice User
db.Preload("Profile").First(&alice, 1)
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.
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