2

テキスト ARRAY フィールド タイプなど、配列フィールド タイプで GraphQL フィルター クエリを実行しようとしています。

次のシナリオ例では:

テーブルを作成

CREATE TABLE Employee (
    firstName       text,
    lastName        text,    
    tags            text[]
);

そして、次のいずれかの方法でテキスト配列フィールドをフィルタリングできます。

ARRAY タイプの CONDITION を指定した SELECT STATEMENT

SELECT * FROM Employee WHERE tags @> ARRAY['teamplayer']::varchar[]

これは、PostGres でも​​ Postgraphile でも暗黙的に機能します。

Postgraphile GraphQL では、上記のテーブルを次のようにクエリできます。

クエリ

{
  allEmployees(filter: {tags: {contains: "teamplayer"}}) {
    nodes {
      firstName
      lastName
      tags
    }
  }
}

結果は次のようになります。

応答

  {
  "data": {
    "allEmployees": {
      "nodes": [
         {
             firstName: 'Russell'
             lastName: 'Dodds'
             tags: ['teamplayer', 'punctual']
         },
         {
             firstName: 'Emma'
             lastName: 'Samsin'
             tags: ['teamplayer']
         }
      ]
    }
  }
}

Hasura の ARRAY フィールド タイプで同様の結果を得る方法について、参考文献や提案を教えてください。

4

1 に答える 1