はじめに
前回 Heroku + Hasura で GraphQL を使うためのセットアップをしましたが、
色々クエリを試しているとこれってどうやるのっていう部分がいくつかあったので備忘録として残します。
今後もクエリに関して発見があったら追記していく予定です。
サンプルとして使用したデータは次の 2 つのテーブルです。
カウント
XXX_aggregate.aggregate.count を使うことで数を調べることができます。
平均・最小値・最大値・分散などの統計演算
カウントと同様に XXX_aggregate.aggregate で用意されています。
Join
employees -> salaries
employees 1 つにたいして 複数の salaries が存在しうるため、employees -> salaries の Array リレーションを作成します。
GraphQL のクエリ画面から employee.salaries が呼び出せるようになっています。
これが employees -> salaries の JOIN に対応する機能となっています。
salaries -> employees
salaries 1 つにたいして 1 つの salaries が存在しうるため、salaries -> employees の Object リレーションを作成します。
GraphQL のクエリ画面から employee.salaries が呼び出せるようになっています。
これが salaries -> employees の JOIN に対応する機能となっています。
おわりに
GraphQL では JOIN や COUNT などの処理はバックエンド側がリゾルバーというものを作成して機能のひとつとして実装する必要があるみたいです。
ですが、Hasura を使うとコードを書くことなくこれらの機能が使えてしまうので、恐ろしや・・・という感じでした。

