Мои две модели
package models
// Business ...
type Business struct {
ID uint
Name string `gorm:"not null"`
Tables Tables `gorm:"ForeignKey:BusinessID"`
}
// Businesses ...
type Businesses []Business
а также
package models
// Table ...
type Table struct {
ID uint
Ref string `gorm:"not null"`
Business Business
BusinessID uint
}
// Tables ...
type Tables []Table
Это может быть очевидно из кода, но ассоциация должна заключаться в том, что один «бизнес» имеет много «таблиц», а «таблица» принадлежит «бизнесу». Однако при создании базы данных внешние ключи не создаются (я использую sqlite3), и когда я возвращаю бизнес, созданный с помощью
bus := models.Business{
Name: "Test",
Tables: models.Tables{
models.Table{Ref: "A1"},
},
}
db.Create(&bus)
массив предприятий пуст, и когда таблица возвращается, хотя business_id правильный, бизнес-структура также пуста.