首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何通过联接表列(字段)过滤GraphQL查询结果

如何通过联接表列(字段)过滤GraphQL查询结果
EN

Stack Overflow用户
提问于 2022-08-28 15:39:44
回答 1查看 274关注 0票数 0

我试图通过联接表列(字段)过滤GraphQL查询结果。表之间的关系是多对多的(当然是桥接表),我想通过与之相关的城市过滤广告。

我正在使用C#,.NET 6.0和EF核心与HotChocolate NuGet软件包为GraphQL。只是提醒一下,按主表列进行的过滤工作得很好。下面是我的查询类的样子:

下面是我尝试过的问题:

这是打印出来的:

代码语言:javascript
运行
复制
{
  advertisements(where: { and: [{ type: { eq: SERVICE } }, {or: [{cities.name: { {eq:"London"} }}]}] }) {
    title
    id
    owner {
      firstName
      lastName
    }
    description
    rateType
    price
    categories {
      name
    }
    cities {
      name
    }
  }
}

代码语言:javascript
运行
复制
{
  advertisements(where: { and: [{ type: { eq: SERVICE } }, {or: [{cities: {name: {eq:"London"}} }]}] }) {
    title
    id
    owner {
      firstName
      lastName
    }
    description
    rateType
    price
    categories {
      name
    }
    cities {
      name
    }
  }
}

代码语言:javascript
运行
复制
{
  advertisements(where: { type: { eq: SERVICE } }) {
    title
    id
    owner {
      firstName
      lastName
    }
    description
    rateType
    price
    categories {
      name
    }
    cities(where: {name: {eq: "London"}}) {
      name
    }
  }
}
EN

回答 1

Stack Overflow用户

发布于 2022-09-08 07:36:33

过滤器语句必须在“广告”中。

代码语言:javascript
运行
复制
advertisements(where:{ type: { eq: SERVICE }} cities: {name: {eq: "London"}})

此外,在查询类中,您可以删除包含语句,而使用UseProjection。

代码语言:javascript
运行
复制
[UseProjection]
[UseFiltering]
public IQueryable<Advertisement> GetAdvertisements([Service] HomyDbContext context) => context.Advertisement;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73520045

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档