SequelizeJS中的虚拟属性不起作用

时间:2014-09-04 10:06:46

标签: node.js sequelize.js

我在SequelizeJS中有以下架构:

var moment = require('moment');
module.exports = function(sequelize, DataTypes) {
var Account = sequelize.define('Account', {
    suspended: {
        type: DataTypes.BOOLEAN,
        defaultValue: false
    }
}, {
    getterMethods: {
        trialDaysLeft: function() {
            return 5;
        }
    },
         tableName: 'accounts'
});
    return Account;
};

我想在调用account.trialDaysLeft属性时获得trialDaysLeft。

我正在

TypeError: Property 'trialDaysLeft' of object [object Object] is not a function

我哪里错了?

1 个答案:

答案 0 :(得分:2)

名称可能不是最直观的,但getterMethods实际上做的是在实例对象上使用getter方法生成属性。

所以在这种情况下你需要调用instance.trialDaysLeft而不是instance.trialDaysLeft()(我猜你正在做的事情)。