Your cart is currently empty!
Golang: GORM Association
Has Many
Company has many Employees.
type Company struct {
gorm.Model
Name string
Employees []Employee
}
type Employee struct {
gorm.Model
Name string
CompanyID uint
}
Has Many – Belongs To
You just need to add Company Company inside Employee struct.
type Company struct {
gorm.Model
Name string
Employees []Employee
}
type Employee struct {
gorm.Model
Name string
CompanyID uint
Company Company
}
Has One
Account has one Profile.
type Account struct {
gorm.Model
Username string
Profile Profile
}
type Profile struct {
gorm.Model
Name string
AccountID uint
}
Has One – Belongs To
Unlike Has Many relationship, you can not just add Account Account inside the Profile struct. If you do, you will get an error something like this invalid recursive type Account. You need to add pointer to Account (*Account) to get this working.
type Account struct {
gorm.Model
Username string
Profile Profile
}
type Profile struct {
gorm.Model
Name string
AccountID uint
Account *Account
}
Many To Many
...
Personal note:
- Use pointer for struct variable

Leave a Reply