簡體   English   中英

使用 postgres 在 GORM 中使用 struct 進行 Like/gte/lte 查詢

[英]Like/gte/lte queries with struct in GORM using postgres

我有一個這樣的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"`
}

現在我可以使用查詢整個username

user := &User{}
if err := db.Where(&User{
    Username: username,
}).Find(&user).Error; err != nil {
    return user, err
}

我將此語句用於like查詢(普通查詢)

db.Where("username LIKE ?", fmt.Sprintf("%%%s%%", username)).Find(&users)

是否可以對結構格式的用戶名字段使用like查詢? 大於還是小於呢?

我認為這是不可能的, Struct in where 條件用於對字段進行相等檢查( Ref

db.Where(&User{ Username: username})

對於Like/gte/lte查詢,您必須在where()中使用普通的 SQL

db.Where("username LIKE ?", fmt.Sprintf("%%%s%%", username)).Find(&users)

參考這里

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM