我正在尝试使用 Postgres 与 golang 中的 gorm 连接来查询和获取所有数据。我的戈姆模型 type WebsiteSlots struct { Id uint `gorm:"primary_key"` Settings string `gorm:"json"` AdsizeId int `gorm:"type:int"` WebsiteId int `gorm:"type:int"` AdSize Adsizes `gorm:"foreignkey:AdSizesId"` Website Websites `gorm:"foreignkey:WebsiteId"` UpdatedAt time.Time `gorm:"default:CURRENT_TIMESTAMP"` CreatedAt time.Time `gorm:"default:CURRENT_TIMESTAMP"`}func (WebsiteSlots) TableName() string { return "website_ads"}我的查询存储库 GetSlots() 正在生成"SELECT * FROM "website_ads" WHERE "website_ads"."id" = 2 LIMIT 50 OFFSET 0"这个查询。不知道这个 ""website_ads"."id" = 2" 是怎么来的?type Slots struct { Container *container.Container}func (w *Slots) GetSlots(skip int , limit int) []models.WebsiteSlots { var results []models.WebsiteSlots sites := w.Container.Get("dbprovider").(*services.Database) postgresConnection := sites.PostgresConnection() postgresConnection.LogMode(true) var websiteslots models.WebsiteSlots resp, _ := postgresConnection.Debug().Find(&websiteslots).Limit(limit).Offset(skip).Rows() //i := 0 for resp.Next() { results = append(results,websiteslots) } return results}有人可以帮忙吗?
2 回答
![?](http://img1.sycdn.imooc.com/545864000001644402200220-100-100.jpg)
慕容708150
TA贡献1831条经验 获得超4个赞
var websiteslots models.WebsiteSlots resp, _ := postgresConnection.Debug().Find(&websiteslots).Limit(limit).Offset(skip).Rows()
Find() 需要一个结构切片。但是您提供的是单个结构。我不知道这是否是额外 WHERE 子句的原因。
![?](http://img1.sycdn.imooc.com/545865470001bf9402200220-100-100.jpg)
ITMISS
TA贡献1871条经验 获得超8个赞
websiteslots := []models.WebsiteSlots{}
postgresConnection.Debug().Limit(limit).Offset(skip).Find(&websiteslots)
return websiteslots
在这里你使用Find()&Row()两者都可能会出现问题。你得到结果websiteslots然后为什么要使用resp准备结果。
- 2 回答
- 0 关注
- 146 浏览
添加回答
举报
0/150
提交
取消