使用 gorm Golang lib 构建自定义查询
Build custom query with gorm Golang lib
我正在使用 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 {
//
}
Why limit is not applied?
因为您忽略了 Limit 的 return 值。实际上,您正在创建一个带有限制的查询,然后在不执行它的情况下将其丢弃。
您需要使用:
selectQuery = selectQuery.Limit(10)
我正在使用 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 {
//
}
Why limit is not applied?
因为您忽略了 Limit 的 return 值。实际上,您正在创建一个带有限制的查询,然后在不执行它的情况下将其丢弃。
您需要使用:
selectQuery = selectQuery.Limit(10)