0

I want to query a nested field for multiple variables. In this case, I want to query RPR, but only return RPR if the label of the nested Region is given. One variable for the nested Region (field: label) works fine, but how can I filter on multiple variables of the same field?

The way I see it, when I call up the query-client (in my case through Apollo), I want to give an array as a variable and let the query in the backend go through that array and return results based on any of the variables given in the array.

The resolver does nothing more then:

rPRs: (root, args, ctx, info) => {
 return ctx.db.query.rPRs(args, info);
}

The relevant part of the schema:

    type RPR {
      id: ID! @Unique
      RPRID: String! @Unique
      state: String
      region: Region!
      resource: Resource!
      price: Float
      theme: String
      editionTitle: String
      information: String
    }

    type Region {
      id: ID! @Unique
      regionID: String! @Unique
      label: String! @Unique
      name: String! @Unique
      aov: Float!
      aov_multiplier: Float!
    }

The current query to retrieve all 'RPR' with nested regions:


    query ADVICE_RESOURCES_QUERY($theme: String, $regio: String) {
      rPRs(where: {
        theme: $theme,
        region: {
          label: $regio
        }
      })
      {
        RPRID
        region {
          label
        }
      }
    }
Butterface
  • 23
  • 4

1 Answers1

0

you should be able to use the label_in filter and provide the array of Strings to it. Your where would then look like this:

where: {
    theme: $theme,
    region: {
      label_in: $regio
    }
  }
Matthias Oertel
  • 774
  • 3
  • 10