我正在尝试创建一个函数,该函数将表中的所有内容输出为表所具有的结构切片。func FetchAll(parameter interface{}) []interface{} { var model interface{} var resultArray []interface{} db := common.GetDB() rows, err := db.Model(parameter).Where(parameter).Rows() if err != nil { fmt.Print(err.Error()) return nil } for rows.Next() { db.ScanRows(rows, &model) resultArray = append(resultArray, model) } fmt.Println(resultArray) return resultArray}用法:c.JSON(200, FetchAll(&ProductImage{ProductID: productID}))但输出如下:[<nil>,<nil>,<nil>]这是为什么呢?
1 回答
Cats萌萌
TA贡献1805条经验 获得超9个赞
不能的类型modelinterface{}
您可以使用var model = map[string]interface{}{}
更易于编写:
func FetchAll(parameter interface{}) []map[string]interface{} {
var resultArray []map[string]interface{}
db := common.GetDB()
err := db.Model(parameter).Where(parameter).Find(&resultArray).Error
if err != nil {
fmt.Print(err)
return nil
}
fmt.Println(resultArray)
return resultArray
}
- 1 回答
- 0 关注
- 124 浏览
添加回答
举报
0/150
提交
取消