рдирдорд╕реНрддреЗ,
рдореИрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рдерд╛:
type A struct {
Foo string
Bar int
Bs []B `gorm:"many2many:a_b`
}
type B struct {
Field string
As A[] `gorm:"many2many:a_b`
}
...
db.Preload("As", func(db *gorm.DB) *gorm.DB {
return db.Select("foo").Order("bar ASC")
}).First(&B{})
рд▓реЗрдХрд┐рди рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХреА рдЧрдИ рдХреНрд╡реЗрд░реА рд╣реИ
SELECT * FROM "as" .... ORDER BY bar ASC
рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдХрд╕реНрдЯрдо рдкреНрд░реАрд▓реЛрдбрд┐рдВрдЧ Select()
рдХреЛ many2many
рдПрд╕реЛрд╕рд┐рдПрд╢рди рдХреЛ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╕рдордп рд╕рдВрднрд╛рд▓ рдирд╣реАрдВ рдкрд╛рддрд╛ рд╣реИред
рдпрд╣ рдЪрд╛рд╣рддрд╛ рд╣реИ?
рдЗрд╕реЗ рдареАрдХ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЖрдкрдХреА рд░рд┐рдкреЛрд░реНрдЯ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред
рдореБрдЭреЗ рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИ, рдХреНрдпрд╛ рдпрд╣ рдареАрдХ рд╣реИ?
@jinzhu рдЙрд╕реА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛, Select()
m2m рд╕рдВрдШреЛрдВ рдХреЗ рд▓рд┐рдП рдареАрдХ рд╕реЗ рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИред
рдореИрдВ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ m2m рдФрд░ 1toM рдХрдиреЗрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдБ
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рдЗрд╕реЗ рдареАрдХ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЖрдкрдХреА рд░рд┐рдкреЛрд░реНрдЯ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред