亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

查詢與“有一個”關聯(一對一)

查詢與“有一個”關聯(一對一)

Go
汪汪一只貓 2023-06-12 16:27:19
在嘗試確定哪個 ORM 庫最適合我的需要時,我正在玩 Gorm。值得一提的是,我目前正在使用 Sqlite。按照指南,我創建了兩個結構:  type Color struct {    gorm.Model    UserID uint    Name   string}//User struct define a basic user modeltype User struct {    gorm.Model    Username     string    Email        string    FirstName    string    LastName     string    Password     string    CreationDate time.Time    DOB          time.Time    IgnoreMe     int   `gorm:"-"` // Ignore this field    Color        Color `gorm:"foreignkey:ColorRefer"`    ColorRefer   uint}當我創建一個數據庫時func CreateTables() {user := dm.User{}color := dm.Color{}GormDB.CreateTable(&color)GormDB.CreateTable(&user)GormDB.Model(&user).AddForeignKey("ColorRefer", "colors(id)", "CASCADE", "CASCADE")}或與:func CreateTables() {    GormDB.AutoMigrate(&dm.User{},&dm.Color{})}遺憾的是,它沒有像我期望的那樣工作并自動創建外鍵,但是當我手動創建外鍵時它可以工作。我的主要問題是當我試圖查詢用戶時//QueryByStructExample query users table by the struct non-zero (non-default) fields.    func QueryByStructExample(userStruct dm.User) []dm.User {        var results []dm.User        GormDB.Where(userStruct).Find(&results)        return results    }我創建了以下函數,試圖通過電子郵件查詢用戶,顏色屬性是我的顏色結構,我嘗試使用模型、相關和關聯函數進行大量操作,但似乎沒有任何效果,而且(我避免有意使用連接)。最終結果是它查詢我的用戶但沒有顏色(只有我的 colorRefer 中的 ID)有什么建議嗎?
查看完整描述

1 回答

?
搖曳的薔薇

TA貢獻1793條經驗 獲得超6個贊

你的意思是預加載 Color 結構?如果是,您是否嘗試過這樣查詢

GormDB.Preload('Color').Where(userStruct).Find(&results)


查看完整回答
反對 回復 2023-06-12
  • 1 回答
  • 0 關注
  • 142 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號