Как получить имя таблицы из модели в горм?

Можно ли получить название таблицы модели? Я вижу, что его можно получить из ModelStruct, но я не знаю, как это сделать правильно. Я не нашел никаких инициализаций для этой структуры.

user := User{}
tableName := db...

person fr05t1k    schedule 24.08.2018    source источник


Ответы (2)


Нравится:

tableName := db.NewScope(model).GetModelStruct().TableName(db)

Обновление: короче

tableName := db.NewScope(model).TableName() 
person fr05t1k    schedule 24.08.2018
comment
можно было бы короче: tableName := db.NewScope(model).TableName() - person Gnuth; 20.06.2019
comment
Принятый ответ не работает для библиотеки на gorm.io - person Boris Le Méec; 04.10.2020

Для Gorm v2 согласно https://github.com/go-gorm/gorm/issues/3603, вы можете:

stmt := &gorm.Statement{DB: DB}
stmt.Parse(&ColumnStruct2{})
stmt.Schema.Table
person Aibek    schedule 16.10.2020