简体   繁体   English

续集二传手不起作用

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM