Explorar o código

model中db标签增加'-'符号以支持数据库查询时忽略对应字段. (#1612)

Javen %!s(int64=3) %!d(string=hai) anos
pai
achega
60760b52ab
Modificáronse 1 ficheiros con 6 adicións e 2 borrados
  1. 6 2
      core/stores/builder/builder.go

+ 6 - 2
core/stores/builder/builder.go

@@ -30,13 +30,17 @@ func RawFieldNames(in interface{}, postgresSql ...bool) []string {
 	for i := 0; i < v.NumField(); i++ {
 		// gets us a StructField
 		fi := typ.Field(i)
-		if tagv := fi.Tag.Get(dbTag); tagv != "" {
+		tagv := fi.Tag.Get(dbTag)
+		switch {
+		case tagv == "-":
+			continue
+		case tagv != "":
 			if pg {
 				out = append(out, tagv)
 			} else {
 				out = append(out, fmt.Sprintf("`%s`", tagv))
 			}
-		} else {
+		default:
 			if pg {
 				out = append(out, fi.Name)
 			} else {