[英]Sequelize setter does not work
I desperately try to call a simple setter method which seems to not exist. 我拼命尝试调用一个似乎不存在的简单setter方法。
Here is my modeldefinition: 这是我的模型定义:
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)
}
}
}
Every call of process.setStatus(pStatus.inprocess) returns in a TypeError 每次调用process.setStatus(pStatus.inprocess)都会返回TypeError
Possibly unhandled TypeError: Object [object SequelizeInstance] has no method 'setStatus'
可能未处理的TypeError:对象[object SequelizeInstance]没有方法'setStatus'
What am I missing here? 我在这里想念什么?
Setters are implemented as javascript setters 设置器实现为javascript设置器
This means that the setter will be invoked when you assign to the property 这意味着,当您分配给属性时,将调用设置方法。
process.status = 'done' // this invokes the setter
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.