使用gorm Golang lib构建自定义查询

时间:2017-04-02 20:10:39

标签: go go-gorm

我正在使用http://jinzhu.me/gorm/crud.html#query

我想在一些自定义条件下构建selectQuery

selectQuery := db.Select("username").Where("status = 'active'")
selectQuery.Limit(10)
if err := selectQuery.Find(&users).Error; err != nil {
//
} else {
//
}

为什么不应用限制?

如果使用以下代码实现,则可以正常工作:

if err := db.Select("username").Where("status = 'active").Limit(10).Find(&users).Error; err != nil {
//
} else {
//
}

1 个答案:

答案 0 :(得分:1)

  

为什么不应用限制?

因为您忽略了Limit的返回值。实际上,您正在创建一个带限制的查询,然后将其丢弃而不执行它。

您需要使用:

selectQuery = selectQuery.Limit(10)