1

これにより、次のすべてのイベントが取得されますshowOnSite === true

query MyQuery {
  allSanityP2Event(filter: {showOnSite: {eq: true}}) {
    edges {
      node {
        showOnSite
        title
        relatedEvents {
          showOnSite
          title
        }
      }
    }
  }
}

relatedEvents次に、これらの結果内でフィルター処理したいと思いshowOnSite === trueます。確かにGraphQLはこれを行うことができますか?

次のようなhaveのイベントのみが表示されるため、使用elemMatchは機能しません。relatedEventsshowOnSite === true

query MyQuery {
  allSanityP2Event(filter: {showOnSite: {eq: true}, relatedEvents: {elemMatch: {showOnSite: {eq: true}}}}) {
    edges {
      node {
        showOnSite
        title
        relatedEvents {
          showOnSite
          title
        }
      }
    }
  }
}

論理的には、これはうまくいくと思いますが、そうではありません...

query MyQuery {
  allSanityP2Event(filter: {showOnSite: {eq: true}}) {
    edges {
      node {
        showOnSite
        title
        relatedEvents(filter: {showOnSite: {eq: true}}) {
          showOnSite
          title
        }
      }
    }
  }
}
4

1 に答える 1