是否可以获取模型的表名?我看到可以从ModelStruct获取它,但我不知道如何正确执行。我没有找到这个结构的任何初始化。
user := User{}
tableName := db...
Run Code Online (Sandbox Code Playgroud)
小智 13
对于 Gorm v2,根据https://github.com/go-gorm/gorm/issues/3603,你可以这样做:
stmt := &gorm.Statement{DB: DB}
stmt.Parse(&ColumnStruct2{})
stmt.Schema.Table
Run Code Online (Sandbox Code Playgroud)
像这样:
tableName := db.NewScope(model).GetModelStruct().TableName(db)
Run Code Online (Sandbox Code Playgroud)
更新:更短
tableName := db.NewScope(model).TableName()
Run Code Online (Sandbox Code Playgroud)
小智 5
Gorm v2 的另一种方法,无需传递 DB 对象。
type WeatherStation struct{}
s, _ := schema.Parse(&WeatherStation{}, &sync.Map{}, schema.NamingStrategy{})
fmt.Println(s.Table)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3296 次 |
| 最近记录: |