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>
請注意,嵌入 Address 結構會展平 JSON 輸出,刪除巢狀的位址物件。若要維護巢狀結構,請考慮使用類型轉換將欄位對應回原始結構。
以上是如何使用 SQLX 正確地將巢狀結構掃描到 Go 結構中?的詳細內容。更多資訊請關注PHP中文網其他相關文章!