Javascript 与Sequelize的一对一关系
为了好玩,我正在创建一个Twitter克隆,我在续集关系方面遇到了一些问题 我的目标是为:用户到推文创建多对一关系 然后为:Tweet-to-User创建一对一关系 我已经成功地完成了tweet.js文件中的多对一关系,您可以在这里看到:Javascript 与Sequelize的一对一关系,javascript,node.js,postgresql,sequelize.js,Javascript,Node.js,Postgresql,Sequelize.js,为了好玩,我正在创建一个Twitter克隆,我在续集关系方面遇到了一些问题 我的目标是为:用户到推文创建多对一关系 然后为:Tweet-to-User创建一对一关系 我已经成功地完成了tweet.js文件中的多对一关系,您可以在这里看到: 'use strict'; module.exports = function(sequelize, DataTypes) { var Tweet = sequelize.define('Tweet', { tweet: DataTypes.TEX
'use strict';
module.exports = function(sequelize, DataTypes) {
var Tweet = sequelize.define('Tweet', {
tweet: DataTypes.TEXT
}, {
classMethods: {
associate: function(models) {
// associations can be defined here
//creating a one-to-many relationship from user->tweets
models.User.hasMany(models.Tweet, {as: 'tweets'});
}
}
});
return Tweet;
};
然而,在我的user.js中,我打算创建从:Tweet到user的一对一关系,我遇到了一些问题
我尝试按照文档进行操作,但无法成功创建此关系。下面是我当前代码的一个示例:
'use strict';
module.exports = function (sequelize, DataTypes) {
var User = sequelize.define('User', {
username: DataTypes.STRING,
password: DataTypes.STRING
}, {
//classMethod guarantees the password provided by the user matches what's in the db
classMethods: {
associate: function (models) {
//associate every tweet to having one author (User)
models.Tweet.hasOne(models.User, { as: "Author" });
models.Tweet#setAuthor(anAuthor);
}
}
});
return User;
}; //**Note that 'models' contains two objects: 'Tweet' and 'User'**
我不知道如何处理这种关系,我如何才能从Tweet到用户建立一对一的关系?我想,这可能会帮助您:
module.exports = function(sequelize, DataTypes) {
var Tweet = sequelize.define('Tweet', {
tweet: DataTypes.TEXT
}, {
classMethods: {
associate: function(models) {
Tweet.belongsTo(models.User, {as: 'tweets'})
}
}
});
return Tweet;
};
module.exports = function (sequelize, DataTypes) {
var User = sequelize.define('Users', {
username: DataTypes.STRING,
password: DataTypes.STRING
}, {
//classMethod guarantees the password provided by the user matches what's in the db
classMethods: {
associate: function (models) {
User.hasMany(models.Tweet, {as: "Author"})
}
}
});
return User;
};