创建关联对象?

时间:2016-06-23 14:24:20

标签: node.js sequelize.js

我正在尝试掌握如何使用相关对象。

我有两个对象

UserAttributes

    var sequelize = require('../database.js').sequelize,
        Sequelize = require('../database.js').Sequelize,
        User = sequelize.models.user,
        UserAttribute = sequelize.define('userAttributes', {
            name:       Sequelize.STRING,
            value:      Sequelize.STRING,
        });

    UserAttribute.belongsTo(User);
    module.exports = UserAttribute;

用户

User = sequelize.define('user', {},{
    classMethods: {
        createRider: function(params) {
            var values = [],
                userAttributes = sequelize.models.userAttributes,
                user = User.build(),
                name = userAttributes.build({name: 'name', value: 'params.name'}),
                fbprofile = userAttributes.build({name: 'fbprofile', value: 'params.fbprofile'}),
                phone = userAttributes.build({name: 'phone', value: 'params.phone'});

            user.save().then((user) => {
                console.log(user);
                user.adduserAttributes([name, fbprofile, phone]);
            });


        }
    }
});

由于某种原因,adduserAttributes不起作用。这是我在此发现的所有文档。

http://docs.sequelizejs.com/en/2.0/api/associations/

1 个答案:

答案 0 :(得分:2)

BelongsTo是1:1的关系。这意味着您只能将一行与其他表格行相关联。

由于它的奇异实现setter方法名称为setUserAttribute(),(More docs

如果要将多行链接到另一个表中的单行,则应使用hasMany

相关问题