Go-Gorm:设置对象时会自动填充外键吗?
Go-Gorm: will the foreignkey be auto-populated when I set an object?
在文档中我们有这个例子:
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
字段?
If I do something like profile.User = &user
, will that automatically populate the UserID field?
只写 profile.User = &user
不会填充 UserID
字段。将 profile
添加到数据库后。 gorm 会自动填充外键。
Is it recommended to set both?
没有。事实上,您应该 而不是 自己设置 UserID
。这也回答了最后一个问题。
在文档中我们有这个例子:
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
字段?
If I do something like
profile.User = &user
, will that automatically populate the UserID field?
只写 profile.User = &user
不会填充 UserID
字段。将 profile
添加到数据库后。 gorm 会自动填充外键。
Is it recommended to set both?
没有。事实上,您应该 而不是 自己设置 UserID
。这也回答了最后一个问题。