Sequelize:如何在beforeBulkUpdate钩子中获取模型?
在Sequelize批量钩子中获取模型名称的方法
批量钩子(比如beforeBulkUpdate、beforeBulkDestroy)确实没有instance参数,但可以通过**options参数里的model属性**直接获取模型实例,进而拿到模型名称。
示例代码如下:
sequelize.beforeBulkUpdate((options) => { // 获取模型的单数名称 const modelName = options.model.options.name.singular; // 或者获取模型的原始定义名称 const rawModelName = options.model.name; });
在Sequelize v6及以上版本中,options.model就是当前操作对应的模型类,通过它可以访问模型的所有配置信息,包括名称、字段结构等。如果遇到属性不存在的情况,可以直接打印options对象,确认模型相关属性的具体位置(不同小版本可能有细微差异)。
内容的提问来源于stack exchange,提问作者Erik Partila
相关产品推荐
相关产品推荐

