6

Relayのすべてのドキュメントに目を通しましたが、ORMを使用してRelay接続を構築する方法についての簡単な説明はないようです。すべての例はconnectionFromArray、データをメモリに保存する場合は問題ない方法を使用しているように見えますが、データをデータベースに保存する場合は、接続のページネーションが機能するために必要な情報をどのように提供しますか?

4

1 に答える 1

6

カーソルは不透明です:

このフィールドの結果はリレーによって不透明と見なされますが、以下の「引数」セクションで説明されているようにサーバーに戻されます。

したがって、データ モデルによっては、ID 文字列のような単純なものをカーソルとして渡すことが適切な場合があります。これをサーバーで使用して、 のような句を使用して接続をロードできますWHERE id > ?。たとえば、ここでページネーションに必要な任意の情報をここにパックし、Base-64 でエンコードすることができます。

配列から接続を返すコードを見ると、ORM に基づくストレージの上に実装する必要があるセマンティクスの大まかなアイデアが得られますが、そのように配列にインデックスを付ける代わりに、 ORM で後続のページネーションを行うのに十分な情報を含む不透明なカーソルを合成します。

于 2015-09-15T17:17:45.133 に答える