在做一个项目,需要在前端创建数据表。
之前没有这个需求所以用着 Gorm 还挺舒服的,但是加了这个需求后在网上找了好久没找到解决办法。虽然 Gorm 可以执行原生 SQL 语句但是只能用结构体接收结果。
想问一下存不存在解决方案?
目前的思路是反射构造结构体,但是不知道可不可行,而且有点麻烦。
1
wangsyi13 2022-02-08 15:39:13 +08:00
还得看具体需求吧,直接 interface{}接,转成 json ,然后根据 json 键取值?
|
2
ilylx2008 2022-02-08 15:42:34 +08:00
db.AutoMigrate(&User{})
就能自动创建表 |
3
inspiration2030 OP @ilylx2008 但是表是动态的,没办法提前设定结构体。
|
4
inspiration2030 OP @wangsyi13 有道理,但是已经和 orm 没什么关系了😂
|
5
Cheivin 2022-02-08 16:02:07 +08:00
要不 map 一把梭?
|
6
darksword21 2022-02-08 16:05:17 +08:00 via iPhone
直接让前段操作数据库!(逃
|
7
inspiration2030 OP @Cheivin Gorm 好像不能单用 map 操作,看文档都得先 Model(&Struct{})。
|
8
ilylx2008 2022-02-08 16:17:50 +08:00
@inspiration2030 那就把表改成静态
|
9
wangsyi13 2022-02-08 16:19:14 +08:00
@inspiration2030 这需求我感觉是跟 orm 没啥关系
|
10
Cheivin 2022-02-08 16:32:27 +08:00
@inspiration2030 建表可能你得用反射,其他数据操作可以通过 Table(string)指定表名,然后 map 接收结果
|
11
Trim21 2022-02-08 16:46:02 +08:00 via Android
我记得可以用 map 的,文档只是没给例子
|
12
inspiration2030 OP @Cheivin 感谢
|
13
inspiration2030 OP @Trim21 已经看到了,感谢。
|