У меня есть две следующие модели: File
и Session
, и в одном сеансе может быть много объектов File (один ко многим).
type Session struct {
gorm.Model
Name string `json:"name,omitempty"`
IsCurrent bool `json:"is_current"`
Files []File `gorm:"foreignkey:SessionID" json:"files"`
}
type File struct {
gorm.Model
Name string `json:"name"`
FileType string `json:"file_type"`
ParentName string `json:"parent_name"`
SessionID uint `json:"session_id"`
}
Я хочу получить все файлы, связанные с сеансом, в котором IsCurrent = true
Я написал следующий необработанный SQL-запрос, который, кажется, работает нормально, но я хотел бы знать, есть ли способ выполнить аналогичный запрос int he Gorm.
err = db.Raw ("ВЫБРАТЬ * ИЗ файлов, сеансов WHERE files.session_id == sessions.id AND sessions.is_current =?", true) .Scan (& fileObjects) .Error