我正在使用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 {
//
}

最佳答案



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

您需要使用:

selectQuery = selectQuery.Limit(10)

09-26 00:14