Как выбрать два разных набора данных в GraphQL в одном запросе - PullRequest
0 голосов
/ 06 января 2019

Я создаю блог, но с некоторыми функциями фрагментов, которые настроены как дополнительная коллекция. Я хочу разместить на одной странице как последние сообщения в блоге, так и последние фрагменты.

Я редактирую код и вижу следующий запрос graphql:

export const pageQuery = graphql`
  query IndexQuery {  
    allMarkdownRemark(
      sort: { order: DESC, fields: [frontmatter___date] },
      filter: { frontmatter: { templateKey: { eq: "blog-post" } }}
    ) {
      edges {
        node {
          excerpt(pruneLength: 400)
          id
          fields {
            slug
          }
          frontmatter {
            title
            templateKey
            date(formatString: "MMMM DD, YYYY")
          }
        }
      }
    }
  '

Могу ли я просто добавить еще один «запрос», например:

export const pageQuery = graphql`
  query IndexQuery {  
  allMarkdownRemark(
      sort: { order: DESC, fields: [frontmatter___date] },
      filter: { frontmatter: { templateKey: { eq: "blog-post" } }}
    ) {
      edges {
        node {
          excerpt(pruneLength: 400)
          id
          fields {
            slug
          }
          frontmatter {
            title
            templateKey
            date(formatString: "MMMM DD, YYYY")
          }
        }
      }
    },  
allSnippetPosts(
      sort: { order: DESC, fields: [frontmatter___date] },
      filter: { frontmatter: { templateKey: { eq: "snippet-post" } }}
    ) {
      edges {
        node {
          excerpt(pruneLength: 400)
          id
          fields {
            slug
          }
          frontmatter {
            title
            templateKey
            date(formatString: "MMMM DD, YYYY")
          }
        }
      }
    }
  '

У меня есть все, что нужно сделать с бэкэндом, просто мне нужна помощь с графикой здесь.

1 Ответ

0 голосов
/ 06 января 2019

да, вы можете. Вам не хватает } в конце запроса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...