Amplify: can't query many to many using generated API

0

I have a simple setup where each art contains many artists and each artist contains many arts. I made the schema and generated the data using the web GUI. When I use the generated API.graphql(graphqlOperation(listArts)) to fetch a list of the artworks, the createdBy field is no where to be found.

This is a cut-down verion of the generated schema.

type Artist @model @auth(rules: [{allow: public}]) {
  id: ID!
  name: String
  arts: [Art] @manyToMany(relationName: "ArtArtist")
}

type Art @model @auth(rules: [{allow: public}]) {
  id: ID!
  name: String
  createdBy: [Artist] @manyToMany(relationName: "ArtArtist")
}

I noticed that there is no createdBy for the generated code

export const listArts = /* GraphQL */ `
  query ListArts(
    $filter: ModelArtFilterInput
    $limit: Int
    $nextToken: String
  ) {
    listArts(filter: $filter, limit: $limit, nextToken: $nextToken) {
      items {
        id
        name
        createdAt
        updatedAt
        _version
        _deleted
        _lastChangedAt
      }
      nextToken
      startedAt
    }
  }
`;

This tutorial clearly claims that you can just list the entries and access the many to many field. (https://docs.amplify.aws/cli/graphql/data-modeling/#many-to-many-relationship). Any help on this is hugely appriciate!

asked a year ago111 views
No Answers

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions