Я пишу мое первое приложение в golang, так что извините за вопрос новичка, но я не смог найти решение следующей задачи:Golang Горм поджимать
У меня есть две таблицы, положение и приложение. Каждая позиция может иметь несколько вложений. Вот моя модель:
type Positions struct {
Sys_id int `gorm:"AUTO_INCREMENT" gorm:"column:sys_id" json:"sys_id,omitempty"`
Name string `gorm:"size:120" gorm:"column:name" json:"name,omitempty"`
OpenPositions int `gorm:"column:open_positions" json:"open_positions,omitempty"`
ContactList string `gorm:"size:1000" gorm:"column:contact_list" json:"contact_list,omitempty"`
Attachments []Attachment `gorm:"ForeignKey:RecordId"`
}
type Attachment struct {
Sys_id int `gorm:"AUTO_INCREMENT" gorm:"column:sys_id" json:"sys_id"`
Name string `gorm:"size:255" gorm:"column: name" json:"name"`
File string `gorm:"size:255" gorm:"column:file" json:"file"`
RecordId int `gorm:"column:record_id" json:"record_id"`
Table string `gorm:"size:255" gorm:"column:table" json:"table"`
// ...
}
Я хочу, чтобы запросить БД и получить позиций с вложения
positions2 := []models.Positions{}
err := db.Where("open_positions > ?", 0).Preload("Attachments", "`table` = ?", "user_position").Find(&positions2)
if err != nil {
log.WithFields(log.Fields{
"type": "queryerr",
"msg": err,
}).Error("faked up query")
}
Результат этого запроса - я получаю позиции правильно, но вложения являются пустыми.
(не может поджать поля для прикрепления models.Positions) уровень = ошибка MSG = "подделать до запроса" MSG = & {0xc04200aca0 не может поджать поля Оснастка для models.Positions 6 0xc042187e40 0xc042187d90 0xc0422cd4a0 0 { 0xc042225130} ложная карта [] карта [] ложь}
заранее спасибо за помощь