2016-06-21 19 views
0

Sequelizeを使用して、データをデータベースに保存し、データベースに保存します。新しい方法でデータモデルを拡張する方法は?

var sequelize = require('../database.js').sequelize, 
    Sequelize = require('../database.js').Sequelize; 

User = sequelize.define('user', { 
    authID:  Sequelize.STRING, 
    name:  Sequelize.STRING, 
}); 

User.prototype.createRider =() => { 
    console.log('test'); 
}; 

module.exports = User; 

私は、ユーザーの特定の種類を格納するための新しい方法でモデルを拡張しようとしているが、User.prototype.createRider動作しません。何ができますか?

答えて

0

私はあなたがあなたが定義の際に、お使いのモデルの両方のインスタンスとクラスメソッドを定義することができ

var Foo = sequelize.define('foo', { /* attributes */}, { 
classMethods: { 
    createRider: function(){ return 'smth' } 
    } 
}) 
0

オブジェクトクラスメソッドを使用することができると信じてtheir documentation

中の「モデルの拡大」があります。次のように

はあなた sequelize.defineを変更

User = sequelize.define('user', { 
    authID:  Sequelize.STRING, 
    name:  Sequelize.STRING, 
}, classMethods: { 
    createRider: function() { 
     console.log('test'); 
    } 
}); 

あなたはその後、予想される方法でclassMethodsを使用することができます:Model Definition

User.createRider(); 

がSequelizeのマニュアルを参照してください。

関連する問題