Sequelize.js 提供A的Sequelize联接与B不关联
在我的模型定义中,我有:Sequelize.js 提供A的Sequelize联接与B不关联,sequelize.js,Sequelize.js,在我的模型定义中,我有: tableA.hasMany(tableB); 所以在tableB中,我有一个字段“tableAId” 但是,当我尝试运行此代码时: return models.tableB.findAll({include: {model: models.tableA}}).then(function(result){ if(result){ return Promise.resolve(result); } else{ re
tableA.hasMany(tableB);
所以在tableB中,我有一个字段“tableAId”
但是,当我尝试运行此代码时:
return models.tableB.findAll({include: {model: models.tableA}}).then(function(result){
if(result){
return Promise.resolve(result);
}
else{
return Promise.reject(false);
}
}).catch(function(err){
console.log(err);
return Promise.reject(err);
});
我得到一个错误:
A is not associated with B
因此,定义tableA有许多tableB还不足以连接这些表 您需要在
tableB
模型内创建belongsTo
关联,参考tableA
tableB.belongsTo(tableA);
然后,您将能够在查询
tableB
时包含tableA
,迁移似乎不可能做到?Im使用sequelize cli迁移来修改架构。但在这里找不到方法:如果在tableB
(作为tableA
)表的外键)中有tableAid
列,则不必修改架构。您需要使用belongsTo
来创建这两个模型之间的续集关联,以便您可以查询tableB
模型与关联的tableA
是,但我何时需要执行此“belongsTo”?在问题中的查询之前?定义表B
模型时-查看