在SEQUELIZE中关联3个表

普拉迪普·拉贾什卡(Pradeep Rajashekar)

我正在尝试将3个表关联起来。

我创建的模型如下。

在此处输入图片说明

用户模型

var Sequelize = require('sequelize');

module.exports = function(sequelize, DataTypes) {
  var User = sequelize.define('User', {
    uuid: {
      type: Sequelize.STRING,
      primaryKey: true
    },
    first_name: {
      type: Sequelize.STRING,
      allowNull: false
    },
    last_name: {
      type: Sequelize.STRING,
      allowNull: false
    },
    birth_date: {
      type: Sequelize.DATE,
      allowNull: false
    },
    gender: {
      type: Sequelize.STRING,
      allowNull: true
    },
    email_id: {
      type: Sequelize.STRING,
      allowNull: false,
      validate: {
        isEmail: true
      }
    },
    contact_number: {
      type: Sequelize.STRING,
      allowNull: false,
      validate: {
        isNumeric: true
      }
    }
  }, {
    classMethods: {
      associate: function(models) {
        User.hasMany(models.UserSchool)
      }
    }
  });

  return User;
};

学校模式

var Sequelize = require('sequelize');

module.exports = function(sequelize, DataTypes) {
  var School = sequelize.define('School', {
    school_id: {
      type: Sequelize.STRING,
      primaryKey: true
    },
    name: {
      type: Sequelize.STRING,
      allowNull: false
    },
    address: {
      type: Sequelize.TEXT,
      allowNull: false
    },
    city: {
      type: Sequelize.STRING,
      allowNull: false
    }
  }, {
    classMethods: {
      associate: function(models) {
        School.hasMany(models.UserSchool)
      }
    }
  });

  return School;
};

UserSchools模型

var Sequelize = require('sequelize');

module.exports = function(sequelize, DataTypes) {
  var UserSchool = sequelize.define('UserSchool', {
    year_of_joining: {
      type: Sequelize.DATE,
      allowNull: true
    },
    year_of_passing: {
      type: Sequelize.DATE,
      allowNull: true
    },
    school_type: {
      type: Sequelize.STRING,
      allowNull: false
    },
    course: {
      type: Sequelize.STRING,
      allowNull: true
    }
  }, {
    classMethods: {
      associate: function(models) {
        UserSchool.belongsTo(models.User, {
          onDelete: "CASCADE",
          foreignKey: {
            allowNull: true
          }
        }),
        UserSchool.belongsTo(models.School, {
          onDelete: "CASCADE",
          foreignKey: {
            allowNull: true
          }
        });
      }
    }
  });

  return UserSchool;
};

当我检索用户时,userschools对象是关联的,但是school对象不是userschools的。如何创建三向关联以检索完整数据?

提前致谢。

esmrkbr

你也可以试试吗?

user.js

classMethods: {
  associate: function(models) {
    // associations can be defined here
    User.belongsToMany(models.School, {
        through: {
            model: models.UserSchool
        },
        foreignKey: 'uuid'
    });
  }
}

school.js

classMethods: {
  associate: function(models) {
    //associations can be defined here
    School.belongsToMany(models.User, {
        through: {
            model: models.UserSchool
        },
        foreignKey: 'school_id'
    });
  }
}

UserSchool中没有关联。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在Sequelize中查询关联表

来自分类Dev

查询联结表而未在Sequelize中获得两个关联

来自分类Dev

Sequelize 关联到同一个表

来自分类Dev

使用Sequelize.js从关联表中获取值

来自分类Dev

Sequelize-多对多关联-3个外键

来自分类Dev

节点-将表与Sequelize关联

来自分类Dev

使用包括方法关联 3 个表的模型关联

来自分类Dev

SQL中的关联表,2个主键

来自分类Dev

Sequelize.Js-PostgreSQL 如何从所属表中获取关联表中的行?

来自分类Dev

Sequelize-关联表和查询记录

来自分类Dev

sequelize 与同一张表的关联

来自分类Dev

如何使用Sequelize在3个表之间进行分组?

来自分类Dev

sequelize-如何更新nm关系(包括连接表)中的关联

来自分类Dev

Sequelize.JS Postgresql- 如何从关联表求和以比较主表中的字段

来自分类Dev

如何使用Sequelize从2个表中查询信息

来自分类Dev

如何在Rails中的2个表之间建立关联

来自分类Dev

如何在sequelize上过滤关联的表或父表

来自分类Dev

在cakephp 3应用程序中,如何构建一个查询,该查询从不包含其关联表的表中查找所有内容?

来自分类Dev

在Sequelize中创建包含与hasOne关联的行

来自分类Dev

在Sequelize中创建关联以进行左连接

来自分类Dev

如何在Sequelize迁移中创建关联?

来自分类Dev

sequelize关联密钥在响应中为大写

来自分类Dev

使用Sequelize更新关联模型中的属性

来自分类Dev

在Sequelize中限制延迟加载的关联

来自分类Dev

使用Sequelize更新关联模型中的属性

来自分类Dev

在Sequelize中创建关联以进行左连接

来自分类Dev

我对 Sequelize 中的关联感到困惑

来自分类Dev

从关联的模型(表)中查找具有至少一个关联的所有记录

来自分类Dev

在Sequelize中完全依赖于关联到关联的结果

Related 相关文章

  1. 1

    在Sequelize中查询关联表

  2. 2

    查询联结表而未在Sequelize中获得两个关联

  3. 3

    Sequelize 关联到同一个表

  4. 4

    使用Sequelize.js从关联表中获取值

  5. 5

    Sequelize-多对多关联-3个外键

  6. 6

    节点-将表与Sequelize关联

  7. 7

    使用包括方法关联 3 个表的模型关联

  8. 8

    SQL中的关联表,2个主键

  9. 9

    Sequelize.Js-PostgreSQL 如何从所属表中获取关联表中的行?

  10. 10

    Sequelize-关联表和查询记录

  11. 11

    sequelize 与同一张表的关联

  12. 12

    如何使用Sequelize在3个表之间进行分组?

  13. 13

    sequelize-如何更新nm关系(包括连接表)中的关联

  14. 14

    Sequelize.JS Postgresql- 如何从关联表求和以比较主表中的字段

  15. 15

    如何使用Sequelize从2个表中查询信息

  16. 16

    如何在Rails中的2个表之间建立关联

  17. 17

    如何在sequelize上过滤关联的表或父表

  18. 18

    在cakephp 3应用程序中,如何构建一个查询,该查询从不包含其关联表的表中查找所有内容?

  19. 19

    在Sequelize中创建包含与hasOne关联的行

  20. 20

    在Sequelize中创建关联以进行左连接

  21. 21

    如何在Sequelize迁移中创建关联?

  22. 22

    sequelize关联密钥在响应中为大写

  23. 23

    使用Sequelize更新关联模型中的属性

  24. 24

    在Sequelize中限制延迟加载的关联

  25. 25

    使用Sequelize更新关联模型中的属性

  26. 26

    在Sequelize中创建关联以进行左连接

  27. 27

    我对 Sequelize 中的关联感到困惑

  28. 28

    从关联的模型(表)中查找具有至少一个关联的所有记录

  29. 29

    在Sequelize中完全依赖于关联到关联的结果

热门标签

归档