GORM 如何读取别名字段的值

本贴最后更新于 1314 天前,其中的信息可能已经时移世异

查询数据时给字段设置别名,请问使用 GORM 如何把别名字段的值读取到结构体中?

表结构

DROP TABLE IF EXISTS "test"."test";
CREATE TABLE "test"."test" (
  "id" varchar(32) NOT NULL,
  "name" varchar(255) COLLATE "pg_catalog"."default",
  "remark" varchar(255) COLLATE "pg_catalog"."default"
);
ALTER TABLE "test"."test" ADD CONSTRAINT "test_pkey" PRIMARY KEY ("id");

表对应模型结构体

type Test struct {
	ID     string `gorm:"column:id;type:varchar(32);primaryKey;comment:唯一 ID,流水号" json:"id"` // 唯一 ID,流水号
	Name   string `gorm:"column:name;type:varchar(255);comment:名称" json:"name"`              // 名称
	Remark string `gorm:"column:remark;type:varchar(255);comment:备注" json:"remark"`          // 备注

	MoreInfo string `gorm:"-" json:"moreInfo"` // 更多信息,非表结构字段
}

GORM 查询

gormDB 为已初始化的 gorm 数据库连接。

test := Test{ID: "0000000001"}
gormDB.Select("*, 'testMoreInfoVal' AS more_Info").Where(&test).Find(&test)

问:如何用 GORM 将表结构中不存在的别名字段 more_Info 读取到 Test 结构体的 MoreInfo 属性中?

  • golang

    Go 语言是 Google 推出的一种全新的编程语言,可以在不损失应用程序性能的情况下降低代码的复杂性。谷歌首席软件工程师罗布派克(Rob Pike)说:我们之所以开发 Go,是因为过去 10 多年间软件开发的难度令人沮丧。Go 是谷歌 2009 发布的第二款编程语言。

    497 引用 • 1388 回帖 • 279 关注
  • GORM
    8 引用 • 19 回帖
  • Q&A

    提问之前请先看《提问的智慧》,好的问题比好的答案更有价值。

    8446 引用 • 38474 回帖 • 154 关注
1 操作
iTanken 在 2021-05-17 18:30:12 关闭了该帖的回帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...