首頁 > 後端開發 > Golang > 如何使用 SQLX 正確地將巢狀結構掃描到 Go 結構中?

如何使用 SQLX 正確地將巢狀結構掃描到 Go 結構中?

Barbara Streisand
發布: 2024-11-25 12:13:12
原創
787 人瀏覽過

How to Correctly Scan Nested Structs into Go Structs Using SQLX?

SQLX 巢狀結構掃描

嘗試使用 SQLX 將查詢結果掃描到巢狀結構時,了解正確的方法至關重要。

在提供的範例中,由於 Address 結構未正確嵌入到客戶結構。為了解決這個問題,需要嵌入。

嵌入結構

嵌入結構允許存取嵌入字段,而不需要使用嵌入類型的名稱作為前綴。這簡化了字段訪問,並確保在掃描查詢結果時正確填充嵌入結構中的字段。

type Customer struct {
    Id        int
    Name      string
    Address   // Embedded struct without tags
}

type Address struct {
    Street string  `db:"street"`
    City   string  `db:"city"`
}
登入後複製

更新的查詢

透過嵌入 Address 結構,SQLX 會自動從根據資料庫標籤查詢結果到適當的欄位。

customer := models.Customer{}
err := db.Get(&customer, `select * from users where>
登入後複製

JSON編組

請注意,嵌入 Address 結構會展平 JSON 輸出,刪除巢狀的位址物件。若要維護巢狀結構,請考慮使用類型轉換將欄位對應回原始結構。

以上是如何使用 SQLX 正確地將巢狀結構掃描到 Go 結構中?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板