在文档中,我们有以下示例:
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
字段?
答案 0 :(得分:2)
如果我执行类似
profile.User = &user
的操作,会自动填充UserID字段吗?
仅写profile.User = &user
不会填充UserID
字段。将profile
添加到数据库后。 gorm会自动填充外键。
建议同时设置两者吗?
不。实际上,您应该不自己设置UserID
。这也回答了最后一个问题。