gorm子查询的方法
可以参考下面的写法
1 |
|
上传到 github打码
PS: 有的时候查询结果是一些预期之外的为止格式,此时可以将结果Scan到一个map中或者map数组中,然后查看内容后通过mapstructure将结果转换结构体,比如:
1
2
3
4
type ResultByTime struct {
Time time.Time `mapstructure:"ct"`
SrcIP string `mapstructure:"res.1"`
}
1
2
3
4
5
6
7
8
9
10
11
12
13
db := m.db.Table("(?) as u", subQuery).
Select(fmt.Sprintf("u.ct, %s AS res", res)).
Group("ct").Order("ct")
var r []map[string]interface{}
if err := db.Find(&r).Error; err != nil {
return nil, err
}
results := make([]ResultByTime, 0, len(r))
if err := mapstructure.Decode(r, &results); err != nil {
return nil, err
}
return results, nil
}
gorm子查询的方法
https://nrbackback.github.io/2022/11/23/gorm子查询/