Node.js 续写如何提出加入请求?
我正在尝试与进行关联查询。Node.js 续写如何提出加入请求?,node.js,join,orm,sequelize.js,Node.js,Join,Orm,Sequelize.js,我正在尝试与进行关联查询。 这是我的数据库: 我需要的是选择我所有的关系并得到这样的结果: [ { id: 1, State: true, FK_User: { id: 2, Name: "my name" }, FK_Team: { id: 3, Name: "team name" }
这是我的数据库:
我需要的是选择我所有的关系并得到这样的结果:
[
{
id: 1,
State: true,
FK_User: {
id: 2,
Name: "my name"
},
FK_Team: {
id: 3,
Name: "team name"
}
},
...
]
但今天我得到了这个结果:
[
{
id: 1,
State: true,
FK_User: 2,
FK_Team: 3
},
...
]
对于我的每个关系,我将执行另一个请求以获取数据…因此,我在这张照片和这张照片上做了一个观察。
然后我做了这个代码:
let User = this.instance.define("User", {
Name: {
type: this.libraries.orm.STRING,
allowNull: false
}
});
let Team = this.instance.define("Team", {
Name: {
type: this.libraries.orm.STRING,
allowNull: false
}
});
let Relation = this.instance.define("Relation", {
State: {
type: this.libraries.orm.BOOLEAN,
allowNull: false,
defaultValue: 0
}
});
Relation.hasOne(User, {as: "FK_User", foreignKey: "id"});
Relation.hasOne(Team, {as: "FK_Team", foreignKey: "id"});
使用此代码,我在表之间没有任何关系。。。所以我加了这两行。我不明白为什么我需要建立一个双向关系,因为我不需要访问来自用户和团队的关系
User.belongsTo(Relation, {foreignKey: 'FK_User_id'});
Team.belongsTo(Relation, {foreignKey: 'FK_Team_id'});
当我这样做时,我在用户表中有一个FK_用户id,在团队表中有一个FK_团队id。。。我不知道如何建立这个简单的关系,并通过我的未来请求和include:[用户,团队]}
行获得我所需要的一切
User.hasOne(Relation);
Team.hasOne(Relation);
Relation.belongsTo(Team);
Relation.belongsTo(User);
此代码似乎有效。我不知道为什么…在这里,您的关联设置正确。您可以使用
包含:
Relation.findAll({
where : {
state : true
}
include:[
{
model : User
},
{
model : Team
}
]
})