【发布时间】:2021-10-30 20:34:22
【问题描述】:
我最近开始通过 PostgreSQL 数据库之上的 Hasura 层使用 GraphQL。我在实现基本查询时遇到了麻烦。
这是我的实体:
文章:
- 文章编号
- 内容
- 发布日期
- 类别 ID
类别:
- 类别 ID
- 姓名
- 创建日期
我想用英语实现以下目标:获取在创建相关类别后的前 3 天内发表的文章。
在伪 SQL 中,我会做类似的事情:
SELECT Article.content, Category.name
FROM Article
INNER JOIN Category ON Article.categoryId = Category.categoryId
WHERE Article.publishedDate < Category.createdDate + 3 days
现在作为 GraphQL 查询,我尝试了类似的方法:
query MyQuery {
articles(where: {publishedDate: {_lt: category.createdDate + 3 days}}) {
content
category {
name
}
}
}
不幸的是,它无法识别 where 子句中的“category.createdDate”。我尝试了多种变体,包括别名,但均未成功。
我错过了什么?
【问题讨论】:
-
我认为您不能在查询中引用其他字段。我认为您必须创建一个视图,您可以在其中首先过滤您想要的行或您可以简单地选择差异作为一行,然后查询该字段。
标签: sql postgresql graphql hasura