Sequelize 和 Graphql 反向查找
Posted
技术标签:
【中文标题】Sequelize 和 Graphql 反向查找【英文标题】:Sequelize and Graphql reverse lookup 【发布时间】:2018-11-28 18:35:44 【问题描述】:我有两个模型:
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!
在给定 Fish ID 列表的情况下,我如何找到所有河流?我不确定查询必须如何为 graphql 和 sequelize 查找此内容?
type Query
river(id: ID!): River
**rivers(fishIds: ARRAY): River ??????**
fishes: [Fish]
Query:
rivers: (_, fishIds ) =>
return River.findAll(
where:
fishes: fishIds
);
,
【问题讨论】:
【参考方案1】:您可以为包含的每个模型指定WHERE
子句。此外,除非您将 required
参数显式设置为 false
,否则这样做会将急切负载转换为内部连接(这是您想要的)。
这意味着您应该能够执行以下操作:
River.findAll( include:
[
model: Fish,
where: id: fishIds
,
],
)
【讨论】:
这似乎有效,尽管我的关联不起作用,现在没有任何返回。 ***.com/questions/50935562/…以上是关于Sequelize 和 Graphql 反向查找的主要内容,如果未能解决你的问题,请参考以下文章
GraphQL 和 graphql-sequelize-schema-generator
是否可以使用 Graphql 和 Sequelize 进行多租户?