gorm.io/gorm v1.21.15 модели: type Suppliers struct { SupplierID int32 `gorm:"column:SupplierID;primaryKey"` CompanyName string `gorm:"column:CompanyName"` ContactName string `gorm:"column:ContactName"` ContactTitle string `gorm:"column:ContactTitle"` Address string `gorm:"column:Address"` City string `gorm:"column:City"` Region string `gorm:"column:Region"` PostalCode string `gorm:"column:PostalCode"` Country string `gorm:"column:Country"` Phone string `gorm:"column:Phone"` Fax string `gorm:"column:Fax"` HomePage string `gorm:"column:HomePage"` } type Categories struct { CategoryID int32 `gorm:"column:CategoryID;primaryKey"` CategoryName string `gorm:"column:CategoryName"` Description string `gorm:"column:Description"` Picture []byte `gorm:"column:Picture"` } type Products struct { ProductID int32 `gorm:"column:ProductID;primaryKey"` ProductName string `gorm:"column:ProductName"` SupplierID int32 `gorm:"column:SupplierID"` CategoryID int32 `gorm:"column:CategoryID"` QuantityPerUnit string `gorm:"column:QuantityPerUnit"` UnitPrice float32 `gorm:"column:UnitPrice"` UnitsInStock int32 `gorm:"column:UnitsInStock"` UnitsOnOrder int32 `gorm:"column:UnitsOnOrder"` ReorderLevel int32 `gorm:"column:ReorderLevel"` Discontinued bool `gorm:"column:Discontinued"` Suppliers []Suppliers `gorm:"foreignKey:SupplierID"` Categories []Categories `gorm:"foreignKey:CategoryID"` } вызов через joins: var products []Products db.Debug(). Joins("Suppliers"). Joins("Categories"). Find(&products, "[Products].[SupplierID] IN ?", []int32{3, 4}) fmt.Printf("%#v\n", products) сгенерированный sql, в лог не попадает, достал через отладчик, в базе выполняется SELECT [products].[ProductID],[products].[ProductName],[products].[SupplierID],[products].[CategoryID],[products].[QuantityPerUnit],[products].[UnitPrice],[products].[UnitsInStock],[products].[UnitsOnOrder],[products].[ReorderLevel],[products].[Discontinued],[Suppliers].[SupplierID] AS [Suppliers__SupplierID],[Suppliers].[CompanyName] AS [Suppliers__CompanyName],[Suppliers].[ContactName] AS [Suppliers__ContactName],[Suppliers].[ContactTitle] AS [Suppliers__ContactTitle],[Suppliers].[Address] AS [Suppliers__Address],[Suppliers].[City] AS [Suppliers__City],[Suppliers].[Region] AS [Suppliers__Region],[Suppliers].[PostalCode] AS [Suppliers__PostalCode],[Suppliers].[Country] AS [Suppliers__Country],[Suppliers].[Phone] AS [Suppliers__Phone],[Suppliers].[Fax] AS [Suppliers__Fax],[Suppliers].[HomePage] AS [Suppliers__HomePage],[Categories].[CategoryID] AS [Categories__CategoryID],[Categories].[CategoryName] AS [Categories__CategoryName],[Categories].[Description] AS [Categories__Description],[Categories].[Picture] AS [Categories__Picture] FROM (([products] LEFT JOIN [suppliers] [Suppliers] ON [products].[ProductID] = [Suppliers].[SupplierID]) LEFT JOIN [categories] [Categories] ON [products].[ProductID] = [Categories].[CategoryID]) WHERE [Products].[SupplierID] IN (2,3) panic: reflect: call of reflect.Value.Field on slice Value Stack: 2 0x0000000000557e3e in testing.tRunner.func1.2 at D:/Program Files/Go/src/testing/testing.go:1209 3 0x0000000000557510 in testing.tRunner.func1 at D:/Program Files/Go/src/testing/testing.go:1212 5 0x000000000050e7d0 in reflect.Value.Field at D:/Program Files/Go/src/reflect/value.go:1185 6 0x000000000062c84c in gorm.io/gorm/schema.(*Field).setupValuerAndSetter.func4 at D:/usergo/pkg/mod/gorm.io/gorm@v1.21.15/schema/field.go:445 7 0x000000000062a6ce in gorm.io/gorm/schema.(*Field).setupValuerAndSetter.func9 at D:/user/go/pkg/mod/gorm.io/gorm@v1.21.15/schema/field.go:570 8 0x000000000062be10 in gorm.io/gorm/schema.(*Field).setupValuerAndSetter.func7 at D:/user/go/pkg/mod/gorm.io/gorm@v1.21.15/schema/field.go:517 9 0x000000000062b00d in gorm.io/gorm/schema.(*Field).setupValuerAndSetter.func9 at D:/user/go/pkg/mod/gorm.io/gorm@v1.21.15/schema/field.go:614 10 0x000000000062be10 in gorm.io/gorm/schema.(*Field).setupValuerAndSetter.func7 at D:/user/go/pkg/mod/gorm.io/gorm@v1.21.15/schema/field.go:517 11 0x000000000062b00d in gorm.io/gorm/schema.(*Field).setupValuerAndSetter.func9 at D:/user/go/pkg/mod/gorm.io/gorm@v1.21.15/schema/field.go:614 12 0x0000000000668af9 in gorm.io/gorm.Scan at D:/user/go/pkg/mod/gorm.io/gorm@v1.21.15/scan.go:181 13 0x0000000000693615 in gorm.io/gorm/callbacks.Query at D:/user/go/pkg/mod/gorm.io/gorm@v1.21.15/callbacks/query.go:25 14 0x000000000064f073 in gorm.io/gorm.(*processor).Execute at D:/user/go/pkg/mod/gorm.io/gorm@v1.21.15/callbacks.go:130 15 0x00000000006588b4 in gorm.io/gorm.(*DB).Find at D:/user/go/pkg/mod/gorm.io/gorm@v1.21.15/finisher_api.go:166 16 0x00000000006a694b in dev.iec.com.ru/febest/msaccess.TestSelectComplex at D:/user/msaccess/msaccess_test.go:461 17 0x00000000005570bb in testing.tRunner at D:/Program Files/Go/src/testing/testing.go:1259 18 0x0000000000558679 in testing.(*T).Run·dwrap·21 at D:/Program Files/Go/src/testing/testing.go:1306 если заменить на preload db.Debug(). Preload("Suppliers"). Preload("Categories"). Find(&products, "[Products].[SupplierID] IN ?", []int32{3, 4}) генерируются запросы SELECT * FROM [categories] WHERE [categories].[CategoryID] IN (6,7,8,9,10,74) SELECT * FROM [suppliers] WHERE [suppliers].[SupplierID] IN (6,7,8,9,10,74) SELECT * FROM [products] WHERE [Products].[SupplierID] IN (3,4) всё работает, в консоль уходят нормальные данные