gpt4 book ai didi

express - Sequelize 和 Graphql 反向查找

转载 作者:行者123 更新时间:2023-12-03 22:27:41 25 4
gpt4 key购买 nike

我有两个模型:

River.associate = models => {
River.hasMany(models.Fish, { as: 'Fishes' });
};

Fish.associate = models => {
Fish.belongsTo(models.River);
};

type River {
id: ID!
name: String!
alternative: String!
geojson: JSON
fishes: [Fish]
}

type Fish {
id: ID!
name: String!
}

给定鱼 ID 的列表,我将如何找到所有河流? 我不确定查询必须如何为graphql 和sequelize 查找这个?
type Query {
river(id: ID!): River
**rivers(fishIds: ARRAY): River ??????**
fishes: [Fish]
}

Query: {
rivers: (_, { fishIds }) => {
return River.findAll({
where: {
fishes: fishIds
}
});
},
}

最佳答案

您可以为包含的每个模型指定 WHERE 子句。此外,这样做会将急切加载转换为内部联接(这是您想要的),除非您将 required 参数显式设置为 false

这意味着您应该能够执行以下操作:

River.findAll({ include:
[
{
model: Fish,
where: { id: fishIds }
},
],
})

关于express - Sequelize 和 Graphql 反向查找,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50934458/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com