GORM算在预加载的领域上



我正在使用postgres with go lang&回声框架是我的基础,我正在使用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"`
} 

这链接到我的发票模型中,我正在尝试使用预加载量进行计数。我添加了InvoiceCount UINT具有将计数添加到此模型中的方法。

所以这就是我捆绑的,

dbCon().
  Preload("Invoice", func(db *gorm.DB) *gorm.DB {   
    return db.Count(&profile)
  }).
  Find(&profile).
  RecordNotFound()

但是,除此之外,我除此之外,它返回以下错误:(pq: zero-length delimited identifier at or near """")

我试图用一个简单的查询来做到这一点,但这错了吗?我是否只需要绕过所有配置文件并为每个配置文件添加计数吗?或使用子选择?

下降到RAW SQL查询

谢谢,

我已经构建了此RAW 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)

相关内容

  • 没有找到相关文章

最新更新