我正在尝试向Sequelize模型添加一个自定义方法。下面是我的代码:
'use strict';
const { Model } = require('sequelize');
module.exports = (sequelize, DataTypes) => {
class Form extends Model {
static associate(models) {
// define association here
}
// attempt 1
static testing() {
console.log('testing');
}
}
// attempt 2
Form.prototype.testing = function() {
console.log('testing');
}
Form.init({
type: DataTypes.STRING,
name: DataTypes.STRING,
identifier: DataTypes.STRING
}, {
sequelize,
modelName: 'Form',
});
return Form;
};
我试过这两种方法。下面是我如何调用该方法:
const Form = require('../models/Form');
Form.testing();
这两种方法都返回相同的错误,“TypeError:窗体.testing不是函数”。添加自定义方法的正确方法是什么?
1条答案
按热度按时间3bygqnnd1#
示例模块导出一个函数来初始化并返回模型,而不是模型本身。
静态方法形式将起作用。