Как ограничить количество изображений, которые я получаю от graphql? - PullRequest
0 голосов
/ 22 марта 2019

Мы используем graphql и relay, и перекомпоновываем.

Я получаю некоторые данные из Unit, но мне также нужны некоторые данные из его Project. (Единица принадлежит проекту)

И я понял, как получить нужные мне изображения из проекта, например:

project {
  images {
    fileKey
    aspectRatio
  }

но я получаю много изображений ... например, 20 ... и мне просто нужно первое ... Как мне сказать relay или graphQl, чтобы дать мне только одно?

Спасибо, вот весь мой фрагмент:

const enhance = compose(
  fragment(graphql`
      fragment DetailsSectionContainer_unit on Unit {
        tourIdArchilogic
        tourIdMatterport
        images {
          fileKey
          aspectRatio
        }
        ...TitleRowContainer_unit
        ...UnitSummaryContainer_unit
        ...ContactFormColumnContainer_unit
        project {
          images {
            fileKey
            aspectRatio
          }
          ...ContactFormColumnContainer_project
        }
        company {
          ...ContactFormColumnContainer_company
        }
        ...TourContainer_unit
      }
      fragment DetailsSectionContainer_rentedUnit on RentedUnit {
        ...UnitSummaryContainer_rentedUnit
      }
      fragment DetailsSectionContainer_vacantUnit on VacantUnit {
        ...UnitSummaryContainer_vacantUnit
      }
  `),
);

1 Ответ

1 голос
/ 30 марта 2019

Вы должны изменить тип возврата ваших изображений на соединение, а затем сообщить серверу, сколько изображений вы хотите получить следующим образом:

project {
   images(first: 1) {
        edges {
          node {
              fileKey
              aspectRatio
          }
       }
   }
}

Подробнее о соединениях здесь -> Grahpqlсоединения

...