2015-09-15 3 views
7

Ich habe die gesamte Dokumentation von Relay durchgesehen und es scheint keine einfache Erklärung dafür zu geben, wie man eine Relay-Verbindung mit einem ORM aufbauen kann. Alle Beispiele scheinen die connectionFromArray-Methode zu verwenden, die in Ordnung ist, wenn Sie Ihre Daten im Speicher ablegen, aber wenn Sie die Daten in einer Datenbank speichern, wie würden Sie die Informationen bereitstellen, die für die Paginierung einer Verbindung benötigt werden?Wie definieren Sie eine Relay-Verbindung für die Paginierung mit einem ORM?

Antwort

6

Der Cursor ist opaque:

Das Ergebnis dieses Bereichs durch Relay opaker betrachtet wird, wird jedoch zurück an den Server übergeben werden, wie unten in den „Argumenten“ beschrieben.

Also, auf Ihrem Datenmodell abhängig, kann es sinnvoll sein, etwas so einfache wie ein ID-String zu übergeben als Cursor, die Sie dann auf dem Server verwenden, könnten die Verbindung mit einer Klausel wie WHERE id > ? zu laden. Sie könnten hier beliebige Informationen einpacken, die für die Paginierung notwendig sind, und Base-64 zum Beispiel kodieren.

Wenn Sie sich die the code which returns a connection from an array ansehen, erhalten Sie eine ungefähre Vorstellung von der Semantik, die Sie auf Ihrem ORM-gestützten Speicher implementieren müssen, aber anstatt sich wie Sie in das Array zu indizieren, werden Sie es sein einen undurchsichtigen Cursor zu synthetisieren, der genügend Informationen enthält, um eine nachfolgende Seitennumerierung mit Ihrem ORM durchzuführen.

+0

Danke für die Links, sie haben sehr geholfen! Wenn ich diesen Code aufräumen kann, den ich vielleicht zusammensetze, werde ich ihn hier für zukünftige Referenz veröffentlichen. – vincentriemer

+0

@vincentriemer Hallo! Alles, was Sie uns noch zeigen können ?? –

+0

ja @vincentriemer, das wäre toll :) –

Verwandte Themen