首页 > 解决方案 > 在 react-admin 中使用 hasura-graphql 数据提供程序仅从表中获取不同的数据

问题描述

我正在做一个项目,我必须从下拉列表中显示的表格中只获取不同的数据。我怎样才能做到这一点?我正在使用 '''hasura-graphql''' 数据提供者。那么如何才能从特定列中仅获取不同的数据呢?

提前致谢。

标签: graphqlreact-adminhasura

解决方案


我认为传递一个默认的“distinct_on”过滤器并将列名作为值将完成这项工作。此外,hasura 建议按此列在第一位进行排序。

通常建议使用 order_by 和 distinct_on 以确保我们获得可预测的结果(否则可能会返回任何具有不同列值的任意行)。请注意, distinct_on 列必须是 order_by 表达式中的第一列。

所以我设置了默认排序:

<ReferenceInput
    reference="yourTable"
    source="yourDistinctColumn"
    sort={{field: "yourDistinctColumn", order: "ASC"}}//or DESC, your choice
    filter={{distinct_on: "yourDistinctColumn"}}
>
    <SelectInput optionText="yourDistinctColumn"/>
</ReferenceInput>

https://hasura.io/docs/1.0/graphql/manual/queries/distinct-queries.html


推荐阅读