# #go #go-gorm
#Вперед #го-горм
Вопрос:
Я пытаюсь выполнить транзакцию, которая требует некоторой предварительной загрузки, но, похоже, это не работает.
однако граф работает нормально.
Я попробовал следующее с предварительной загрузкой и ассоциацией, но, похоже, ни то, ни другое не работает. Возможно ли это сделать за одну транзакцию, или мне нужно перейти к более сырому sql?
tx := db.Begin() if tag != "" { var tagModel TagModel tx.Where(TagModel{Tag: tag}).First(amp;tagModel) if tagModel.ID != 0 { tx.Model(amp;tagModel).Association("BookModels").Find(amp;BookModel{}) count = tx.Model(amp;tagModel).Association("BookModels").Count() } } err = tx.Commit().Error
структуры:
type BookModel struct { gorm.Model Tags []TagModel `gorm:"many2many:book_tags"` }
type TagModel struct { gorm.Model Tag string `gorm:"unique_index"` BookModels []BookModel `gorm:"many2many:book_tags"` }