go - Gorm 为某些结构属性选择数据 1 列
问题描述
我想使用带有结构对象的 gorm 选择数据,如下所示:
type Song struct {
Title string `json:"title" gorm:"column:title"`
Artist string `json:"artis" gorm:"column:artist"`
Producer string json:"producer" gorm:"column:artist"
}
使用数据库数据只有 2 列标题和艺术家。您可以看到我想将列艺术家的数据设置为多个结构属性(艺术家和制片人)。
我尝试使用普通选择。艺术家属性填充了数据,但生产者将为空白。
有什么建议吗?
解决方案
请参阅文档gorm-hooks。
像这样:
func (u *Song ) AfterFind(tx *gorm.DB) (err error) {
u.Producer = u.Artist
return
}
并且Producer
字段不应该有gorm:"column:artist"
标签。它可能会导致一些其他问题。如果数据库没有这个字段,建议使用gorm:"-"
.
或者
type Song struct {
Title string `json:"title" gorm:"column:title"`
// Use Producer in code, but artist in database.
Producer string `json:"producer" gorm:"column:artist"`
}
推荐阅读
- yarnpkg - 纱线工作区依赖安装位置问题
- html - IE11 用户如何绕过 HTML5 验证?
- html - 在 Ionic4 中加载页面时播放声音
- git - 将正则表达式语法转换为 glob(从 Mercurial 切换到 Git)
- arrays - 在单个命令行中执行 grep 和 sed
- visual-studio-code - 如何使用终端 API 监听 vscode 中的所有终端输出?
- angular - 多个 mat-selection-list 的两种方式数据绑定
- amazon-web-services - 确认 AWS SNS 主题订阅确认的两种方法之间的区别
- bintray - 如何更改 bintray 包所有权
- python - 有没有一种简单的方法可以让我的命令行循环并行执行?