user3428422
user3428422

Reputation: 4570

graphql - how to filter a nested list

I am currently trying to filter a nested list based on a given id, but don't understand the syntax required. Although I have altered the entities and properties, this is what I am attempting

{
  companies{
    company{
      id,
      name,
      offices(where:{officeId: {eq: 2}}){
        officeId,
        address,
      }
    }
  }
}

In the returned data, I would like ALL companies and their offices where the office id is equal to 2. Is this possible and how would I do this?

Upvotes: 11

Views: 15310

Answers (2)

Yasmeen Attar
Yasmeen Attar

Reputation: 1

companies(
  where:{
    company: {
      offices: {
        some: {IsActive: {eq: true}}
      }
    }
  }
)

If filter is boolean then query doesn't work if Offices has IsActive bool field

Upvotes: -2

Pascal Senn
Pascal Senn

Reputation: 1922

This way you filter the offices inside all companies Try this

{
  companies(where:{company: {offices: {some: {officeId: {eq: 2}}}}}){
    company {
      id 
      name 
      offices {
        officeId
        address
      }
    }
  }
}

Upvotes: 10

Related Questions