图形QL返回ReactApollo应用中的一级数据。

问题描述 投票:0回答:1

我在服务器上使用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);

这是非常直截了当的简单代码,但似乎没有工作。

reactjs graphql apollo hasura
1个回答
0
投票

看起来你的关系可能在Hasura端没有被跟踪?确保你的外键已经到位,跟踪你的关系,并检查确保你已经为所有这些嵌套列设置了权限。

热门问题
推荐问题
最新问题