2014-10-20 39 views
0

我拼命嘗試調用一個似乎不存在的簡單setter方法。Sequelize setter不起作用

這裏是我的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) 
    } 
} 
} 

process.setStatus(pStatus.inprocess)的每個調用返回一個類型錯誤

Possibly unhandled TypeError: Object [object SequelizeInstance] has no method 'setStatus'

缺少什麼我在這裏?

回答

1

塞特斯實現爲javascript setters

這意味着,當你分配給屬性

process.status = 'done' // this invokes the setter 
的setter方法被調用