我怎样才能使用sequalize添加规范化的logging?

我想创build一个方法User.createRider() ,将规范化的数据添加到UserAttribute列。

 var sequelize = require('../database.js').sequelize, Sequelize = require('../database.js').Sequelize, UserAttribute = sequelize.define('userAttributes', { key: Sequelize.STRING, value: Sequelize.STRING, }), User; UserAttribute.belongsTo(User); User = sequelize.define('user', {},{ classMethods: { createRider: function(params) { newUser = User.create(); //this should be related to the user. UserAttribute.create({key: 'somekey', value: 'somevalue'}); return newUser; } } }); module.exports = User; 

我的问题是,我不能创buildUserAttribute模型在用户完成之前,因为我需要用户模型关联userAttributes和我不能创buildusermodel第一,因为我不能创build类方法在定义userAttribute之前。 这似乎是一个常见的情况。 这怎么能解决。

听起来像你可以先创build用户,然后添加它的id到userAttribute当你创build后者。 像这样:

 User = sequelize.define('user', {}, { classMethods: { // Returns a new user instance as a promise. createRider: function(params) { return User.create().then(function(user) { return UserAttribute.create({ key: 'somekey', value: 'somevalue', userId: user.id }).then(function() { // Make sure this promise chain returns the user object, not the userAttribute object return user; }); }); } } });