Go-Gorm:设置对象时会自动填充外键吗?

时间:2019-04-26 01:47:24

标签: go go-gorm

在文档中,我们有以下示例:

type User struct {
  gorm.Model
  Name string
}

// `Profile` belongs to `User`, `UserID` is the foreign key
type Profile struct {
  gorm.Model
  UserID int
  User   User
  Name   string
}

如果我执行类似profile.User = &user的操作,会自动填充UserID字段吗?建议同时设置两者吗?喜欢:

profile.User = &user
profile.UserID = &user.ID

还是没有意义?此外,我是否可以只设置UserID字段而完全忽略User字段?

1 个答案:

答案 0 :(得分:2)

  

如果我执行类似profile.User = &user的操作,会自动填充UserID字段吗?

仅写profile.User = &user不会填充UserID字段。将profile添加到数据库后。 gorm会自动填充外键。

  

建议同时设置两者吗?

不。实际上,您应该自己设置UserID。这也回答了最后一个问题。