リレーション
リレーションは、リファレンスフィールドです。あるレコードが別のレコードを指します。クエリは同じリクエスト内でリレーションをまたいで読み取れ、フィールドは関係の種類を宣言します。その種類によって、アクセスと削除がリレーションをたどるかどうかが決まります。
リファレンスをまたいで読む
GraphQLでは、リファレンスは対象レコード自身の型に解決されるため、関連するフィールドをインラインで選択できます。フィールドは、指せるモデルを限定できます。2つ以上を許可した場合はユニオンが返り、インラインフラグメントで読み取ります。SDKのデータクライアントでは、リレーションはオプトインで、includeで要求します。ネストは3階層までです。
1回のリクエスト内では、同じモデルのレコードへのリファレンスはまとめてバッチで取得されます。既定では、クエリは最大24階層までネストできます。
フィルタリングと書き込み
リストクエリは、参照先モデル自身のフィルターを使ってリファレンス越しに絞り込めます。たとえば、指定した自然キーを持つ著者の投稿を取得できます。書き込みでは、レコードの自然キーでリファレンスをそのレコードに接続でき、切断するとクリアされます。
逆引き
リファレンスにinverseを指定すると、対象モデルに、自身を指すレコードを一覧するフィールドが加わります。コンポジションでは、このフィールドは単純なリストです。アソシエーションでは、モデルのリストクエリと同じフィルター、ソート、ページングの引数を取る、ページネーション付きのコネクションです。
詳細を読む
フィールドタイプのリファレンスで、リファレンスフィールドとそのオプションを説明しており、モデル設定リファレンスではリレーションの種類を扱っています。