sequelize.js - Sequelize Joins 不返回所需的结果

标签 sequelize.js

试图找出如何使用 Sequelize 正确设置连接,可能对我整体上对 SQL 不太熟悉的帮助没有帮助。

models.farms.hasMany(models.users, {foreignKey: 'farmId'});
models.users.belongsTo(models.farms, {foreignKey: 'farmId'});

models.users.find({
    where: {id:33},
    include: [models.farms]
})
.then(function(aResponse) {
    aNext(null, aResponse);
})
.catch(function(aError) {
    aNext(aError);
});

用户表有一个“farmId”字段,而农场表有相同的字段,我正在尝试使用它来匹配它们,因为我稍后需要农场的特定 ID。如果我将用户更新为 math 'id' 那么它就可以工作,但不是'farmId',这正是我需要的。

farms 也将有其他连接到 farm_area 和crop_types,可能稍后更多,仍然计算所有逻辑。

任何帮助,将不胜感激。

最佳答案

尝试将您的关联放在模型的定义中,例如

sequelize.define('users', {
  id: DataTypes.Integer,
  farmId: DataTypes.Integer
}, {
  classMethods: {
    associate: function(models) {
      users.belongsTo(models.farms, {
        foreignKey: 'farmId'
      });
  }
}

尝试使用自定义外键名称时,它对我有用。

关于sequelize.js - Sequelize Joins 不返回所需的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33597652/

相关文章:

node.js - 错误找不到模块 'sequelize'

javascript - 如何定义具有多个属性的 sequalize 表字段

node.js - Sequelize - 关联与另一个模型关联的模型

mysql - SequelizeJS 关系,同模型

node.js - 未找到 Sequelize 关联者

node.js - Sequelize.js 使用 PostgreSQL 进行一对多设计的最佳实践

typescript - 对 BelongsToMany 关联的连接表列名进行 Sequelize

angularjs - 尝试使用 Sequelize 在循环中从数据库中删除多个值时出错

javascript - Sequelize 查询 SELECT * FROM Table 只返回一行

mysql - 如何在 sequelize 迁移中使用 BLOB 数据类型