График QL, возвращающий один уровень данных в приложении React / Apollo - PullRequest
0 голосов
/ 19 апреля 2020

Я использую Hasura для GraphQL на сервере. Я пытаюсь выполнить этот запрос

query MyQuery {
  user_attribute_values(where: {id: {_eq: 3}}) {
    id
    attribute_id
    user_id
    value
    user_attribute {
      enum_attribute_type {
        value
      }
    }
  }
}

, который должен вернуть мне что-то вроде этого

{
  "data": {
    "user_attribute_values": [
      {
        "id": 3,
        "attribute_id": 3,
        "user_id": 2,
        "value": "true",
        "user_attribute": {
          "enum_attribute_type": {
            "value": "boolean"
          }
        }
      }
    ]
  }
}

, но он возвращает мне

{
  value: "true"
  updated_at: "2020-04-16T07:23:04.568105+00:00"
  deleted_at: null
  created_at: "2020-04-16T07:23:04.568105+00:00"
  id: 3
  user_id: 2
  attribute_id: 3
}

Так что, очевидно, он просто игнорирует внутренняя часть и просто возвращает мне один уровень данных.

Это то, как я пытаюсь это сделать

const client = new ApolloClient({
  uri: process.env.REACT_APP_HASURA_GRAPHQL_URL,
});

<ApolloProvider client={client}>
  ... all my remaining code
</ApolloProvider>

const USER_ATTRIBUTES_QUERY = gql`
  {
    user_attribute_values(where: { id: { _eq: 3 } }) {
      id
      attribute_id
      user_id
      value
      user_attribute {
        enum_attribute_type {
          value
        }
      }
    }
  }
`;

const { loading, error, data } = useQuery(USER_ATTRIBUTES_QUERY);

Это очень простой простой код, но, кажется, не работает.

1 Ответ

0 голосов
/ 06 мая 2020

Кажется, что ваши отношения могут быть отслежены на стороне Хасуры? Убедитесь, что ваши внешние ключи установлены, отследите ваши отношения и убедитесь, что у вас есть разрешения, установленные для всех этих вложенных столбцов

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