Я новичок в golang gorm, и недавно столкнулся с проблемой ассоциации.
Созданная мной структура:
type DeliveryItem struct {
..........
Targets []TargetType `json:"targets" gorm:"foreignkey:FK"`
}
Я создаю структуру с именем TargetType, например:
type TargetType struct {
name string
FK int
}
Итак, если я публикую некоторые данные с массивом целей, он сначала сохранит данные в таблице элементов доставки (но без данных целей) и сохранит цели в отдельной таблице. Все работает с вышеуказанной структурой.
Однако, если я создаю анонимное поле и помещаю Targets
внутри анонимного поля, то gorm не вставляет данные этих целей в таблицу. Похоже, что он не распознает связь между DeliveryItem и TargetType
Вот пример, который не работает (для простоты я не предоставил точный код):
type DeliveryItem struct {
..........
CommonDetails
}
type CommonDetails struct {
................
Targets []TargetType `json:"targets" gorm:"foreignkey:FK"`
}
type TargetType struct {
name string
FK int
}
Разве япропустить что-нибудь для тега gorm, чтобы заставить его работать, или Gorm не поддерживает такое поведение? Я проверил документ gorm, и он говорит только о первой предоставленной мной информации, которая работает, но я просто хочу, можно ли заставить работать мой неудачный случай?