我拼命尝试调用一个似乎不存在的简单 setter 方法。
这是我的模型定义:
var Process = Sequelize.MySql.define('Process',{
name: Sequelize.STRING,
description: Sequelize.TEXT,
duration: Sequelize.BIGINT,
status: {
type: Sequelize.ENUM(pstatus.unassigned,pstatus.assigned,pstatus.inprocess,pstatus.stopped,pstatus.finished),
defaultValue: pstatus.unassigned,
set: function(v){
console.log('Prozess status updated')
if(!pstatus.hasOwnProperty(v)){
return
}
this.setDataValue('status',v)
}
}
}
每次调用 process.setStatus(pStatus.inprocess) 都会返回 TypeError
我在这里缺少什么?
最佳答案
Setter 实现为 javascript setters
这意味着当您分配给属性时将调用 setter
process.status = 'done' // this invokes the setter
关于javascript - Sequelize setter 不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26474612/