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
字段?
解决方案
如果我做类似的事情
profile.User = &user
,那会自动填充 UserID 字段吗?
只写profile.User = &user
不会填充该UserID
字段。一旦你添加profile
到数据库中。gorm 将自动填充外键。
是否建议同时设置?
没有。事实上,你不应该设置自己UserID
。这也回答了最后一个问题。
推荐阅读
- sql - CREATE DATABASE 卡在 SQL Server 2017 故障转移群集上
- javascript - 如何根据键/值将对象转换为数组?
- angular - 监听频繁调用的表单值变化
- python - 在 Python 中将列表添加到数组列表的末尾
- javascript - 电子邮件退订链接:如何检测真人,使邮件链接检查机器人(gmail、杀毒软件)不会意外退订用户?
- objective-c - 在Objective-c中访问时plist存储的值不同
- string - 如何使用脚本处理 CSV 文件第一列中的文本
- angular - Ionic 2 / Angular 2 中的垂直刷卡
- c++ - C++ 中外部库的命名空间
- angularjs - AngularJS - 删除请求无法正常工作