我想打印出我用sequelize查询的实例的表名:
models.User.findById(id).then(user => {
console.log('instance type is, ', user.getTableName || user.getType)) // => instance type is, users
}
有没有办法打印出实例的表名?有没有办法打印出实例的型号名称?我搜索了文档,但找不到上面的API。
答案 0 :(得分:23)
piotrbienias的答案是针对v3,在第4节中你做了:
表名为 user.constructor.getTableName()
或user.constructor.tableName
,型号名称为user.constructor.name
我花了一段时间来弄清楚这一点,所以虽然我不会在这里发布,以防有人来寻找这个答案。
答案 1 :(得分:14)
表名:user.Model.getTableName()
或user.Model.tableName
型号名称:user.Model.name
答案 2 :(得分:0)
在版本4
如果model.constructor.name
不起作用。您可以尝试
model.name
与getTableName
注意:model
是一个实例。
答案 3 :(得分:0)
有关表名
user.constructor.getTableName()
很棒。 对于类型(您为.define()作为第一个参数指定的名称),您可以:
user._modelOptions.name.plural
user._modelOptions.name.singular
答案 4 :(得分:0)
续集 V6
把这个留在这里以防有人需要它。
访问模型名称:model.name
。
访问模型表名:model.tableName
。
注意:上面使用的 model
是 sequelize 模型的一个实例。