我正在使用带有 Go Lang 和 Echo 框架的 Postgres 作为我的基础,我正在使用 Gorm 来构建我的数据库查询。所以这是我的个人资料模型,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 模型中,我正尝试在预加载时对其进行计数。我添加了InvoiceCountuint 有一种方法可以将计数添加到这个模型中。所以这就是我所绑定的,dbCon(). Preload("Invoice", func(db *gorm.DB) *gorm.DB { return db.Count(&profile) }). Find(&profile). RecordNotFound()但是,除了这个不起作用之外,它还返回以下错误:(pq: zero-length delimited identifier at or near """")。我试图用一个简单的查询来做到这一点,但这是错误的吗?我是否需要循环我所有的配置文件并为每个配置文件添加一个计数?或者使用子选择下拉到原始 SQL 查询?
1 回答
莫回无
TA贡献1865条经验 获得超7个赞
我已经构建了这个原始 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 关注
- 242 浏览
添加回答
举报
0/150
提交
取消