我正在使用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)