GORM 如何讀取別名欄位的值

Tiki發表於2021-05-17

查詢資料時給欄位設定別名,請問使用 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 屬性中?

本作品採用《CC 協議》,轉載必須註明作者和本文連結
Tiki

相關文章