ZBLOG

golang gorm 如何同时查询当前表和外键表字段的数据?

可以使用 GORM 的 Preload() 方法进行关联查询,它可以同时将当前表和外键表字段的数据查询出来。例如:

  1. type User struct {
  2. ID uint
  3. Name string
  4. Age int
  5. Address Address // 外键关联的地址信息
  6. AddressID int // 外键关联的地址 ID
  7. }
  8. type Address struct {
  9. ID uint
  10. Country string
  11. City string
  12. }
  13. // 查询用户信息,并关联查询地址信息
  14. func getUserWithAddress(db *gorm.DB, userID uint) (*User, error) {
  15. user := &User{}
  16. err := db.Preload("Address").Where("id = ?", userID).First(user).Error
  17. if err != nil {
  18. return nil, err
  19. }
  20. return user, nil
  21. }

在上面的代码中,Preload()方法用于关联查询 Address 表,通过传入参数 “Address” 实现关联查询,这样在查询结果中就会包含当前表(User)和外键表(Address)的所有字段数据。

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://golang.0voice.com/?id=791

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?