预加载Preload()的参数是结构体的字段名称,而不是表名,如果写成了表名就会报unsupported relations for schema错误。

type User struct {
  gorm.Model
  Username string
  Orders   []Order
}

type Order struct {
  gorm.Model
  UserID uint
  Price  float64
}

// 查找 user 时预加载相关 Order
db.Preload("Orders").Find(&users)
// SELECT * FROM users;
// SELECT * FROM orders WHERE user_id IN (1,2,3,4);

从君华
136 声望7 粉丝

万物之中,简洁最美。