fix(statement): The primary key type is not int, but string or uuid (#5984)

This commit is contained in:
胡标 2023-01-16 11:09:23 +08:00
parent 3d35ddba55
commit d1b0547e68

View File

@ -287,7 +287,12 @@ func (stmt *Statement) BuildCondition(query interface{}, args ...interface{}) []
return nil
}
if len(args) == 0 || (len(args) > 0 && strings.Contains(s, "?")) {
// The primary key type is not int, but string or uuid (#5984)
if len(args) == 0 {
return []clause.Expression{clause.IN{Column: clause.PrimaryColumn, Values: []interface{}{s}}}
}
if len(args) > 0 && strings.Contains(s, "?") {
// looks like a where condition
return []clause.Expression{clause.Expr{SQL: s, Vars: args}}
}