Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/373.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 与Sequelize的一对一关系_Javascript_Node.js_Postgresql_Sequelize.js - Fatal编程技术网

Javascript 与Sequelize的一对一关系

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

为了好玩,我正在创建一个Twitter克隆,我在续集关系方面遇到了一些问题

我的目标是为:用户到推文创建多对一关系

然后为:Tweet-to-User创建一对一关系

我已经成功地完成了tweet.js文件中的多对一关系,您可以在这里看到:

'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;
     };