GORM Preload: 外键关系与预加载 - 订单和用户示例
在 Order 结构体中,UserID 是一个外键,它指向 User 表的主键。因此,即使 orders 表中的 UserID 不是主键,上述 preload 语句仍然可以成功执行,因为它会自动识别外键关系并进行预加载。
GORM 通过以下方式识别外键关系:
- 结构体字段名称:
UserID字段名称包含User,暗示了与User表的关系。 - 字段类型:
UserID的类型为uint,与User表主键类型一致。
因此,即使 orders 表的 UserID 不是主键,GORM 仍然能够根据字段名称和类型推断出外键关系,并进行预加载操作。
原文地址: https://www.cveoy.top/t/topic/lRjy 著作权归作者所有。请勿转载和采集!