[英]Like/gte/lte queries with struct in GORM using postgres
I have a User
struct like this:我有一个这样的
User
结构:
type User struct {
Username string `json:"username" bson:"username"`
AuthorizationKey string `json:"authorization_key" bson:"authorization_key"`
IsActive bool `json:"is_active" bson:"is_active"`
}
Right now I can query for the whole username
using现在我可以使用查询整个
username
user := &User{}
if err := db.Where(&User{
Username: username,
}).Find(&user).Error; err != nil {
return user, err
}
And I use this statement for like
query (plain query)我将此语句用于
like
查询(普通查询)
db.Where("username LIKE ?", fmt.Sprintf("%%%s%%", username)).Find(&users)
Is it possible to use like
query for username field with struct format?是否可以对结构格式的用户名字段使用
like
查询? How about greater than or less than?大于还是小于呢?
I think it's not possible, Struct in where condition used for equal check for field ( Ref )我认为这是不可能的, Struct in where 条件用于对字段进行相等检查( Ref )
db.Where(&User{ Username: username})
For Like/gte/lte
query you have to use plain SQL inside where()
对于
Like/gte/lte
查询,您必须在where()
中使用普通的 SQL
db.Where("username LIKE ?", fmt.Sprintf("%%%s%%", username)).Find(&users)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.