2014-10-20 6 views
0

Я отчаянно пытаюсь вызвать простой метод сеттера, который, кажется, не существует.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) возвращается в TypeError

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

Что я здесь отсутствует?

ответ

1

сеттеры реализованы как javascript setters

Это означает, что сеттер будет вызываться при присвоении свойству

process.status = 'done' // this invokes the setter