我正在使用帶有 Go Lang 和 Echo 框架的 Postgres 作為我的基礎(chǔ),我正在使用 Gorm 來構(gòu)建我的數(shù)據(jù)庫查詢。所以這是我的個人資料模型,type Profile struct { gorm.Model InvoiceCount uint `gorm:"-"` CompanyName string `gorm:"size:255"` CompanyNumber string `gorm:"size:10"` CompanyVatNumber string `gorm:"size:10"` DateAdded time.Time `gorm:"type:date"` PrimaryEmail string `gorm:"size:255"` IsActive bool Invoice []*Invoice `gorm:"foreignkey:profile_fk" json:",omitempty"` Address []*Address `gorm:"foreignkey:profile_fk" json:",omitempty"`} 這鏈接到我的 Invoice 模型中,我正嘗試在預(yù)加載時對其進(jìn)行計數(shù)。我添加了InvoiceCountuint 有一種方法可以將計數(shù)添加到這個模型中。所以這就是我所綁定的,dbCon(). Preload("Invoice", func(db *gorm.DB) *gorm.DB { return db.Count(&profile) }). Find(&profile). RecordNotFound()但是,除了這個不起作用之外,它還返回以下錯誤:(pq: zero-length delimited identifier at or near """")。我試圖用一個簡單的查詢來做到這一點(diǎn),但這是錯誤的嗎?我是否需要循環(huán)我所有的配置文件并為每個配置文件添加一個計數(shù)?或者使用子選擇下拉到原始 SQL 查詢?
1 回答

莫回?zé)o
TA貢獻(xiàn)1865條經(jīng)驗(yàn) 獲得超7個贊
我已經(jīng)構(gòu)建了這個原始 SQL 查詢,
dbConn(). Raw("SELECT p.*, count(i.id) as invoice_count FROM profiles p left join invoices i on i.profile_fk = p.id group by p.id"). Scan(&result)
- 1 回答
- 0 關(guān)注
- 325 瀏覽
添加回答
舉報
0/150
提交
取消