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
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.
- 1. So definieren Sie eine Abfrage aus einer n-m Tabelle
- 2. Paginierung mit einem Twist
- 3. Wie definieren Sie die Benennungsstrategie für Hibernate-Bean mit Spring?
- 4. Wie definieren Sie eine Funktion
- 5. Definieren Sie eine Eigenschaft mit einem gemischten Datentyp in Swagger
- 6. (Oracle), wie man Gruppenzeilen für die Paginierung
- 7. ASP.Net: Wie funktioniert die Paginierung mit einem Repeater?
- 8. Definieren Sie eine Typklasse für formlose Datensätze
- 9. Definieren Sie eine Variable für die Verwendung außerhalb des Bereichs
- 10. Wie M-M-Beziehung mit differnce Variation
- 11. Wie eine Git-Nachricht ohne die „-m“
- 12. Wie funktioniert die Paginierung mit Mongoengine?
- 13. Definieren Sie eine .NET-Erweiterungsmethode mit Lösungsumfang
- 14. Sind die AppNameAppDelegate.h und .m die Einstiegspunkte für alle Apps?
- 15. Vereinfachen Sie die Erstellung einer Seitenliste für die Paginierung
- 16. Definieren Sie eine Funktion mit String-Variable
- 17. So implementieren Sie Cursor für die Paginierung in einer API
- 18. Wie definieren Sie einen Typ für eine Funktion in Scala?
- 19. Wie definieren Sie den Befehlsnamen für Tastenbelegungen?
- 20. Konfigurierbare Tabellenpräfixe mit einem .Net OR/M?
- 21. Paginierung Skript in jquery für Tabelle Paginierung
- 22. Definieren Sie eine benutzerdefinierte ExceptionStrategy in einem ZF2 Modul
- 23. Python: Wie kann ich eine Klasse in einem Doctest definieren?
- 24. So definieren Sie eine Erweiterungsmethode in einem Scriptcs csx-Skript
- 25. Steuerungslogik und Vorlagenlogik, wo zeichnen Sie die Zeile mit Paginierung?
- 26. Wie definieren wir eine Grammatik für Clojure-Code mit instparse?
- 27. Definieren Variable für die Gleichung
- 28. Feste Datentabelle für Paginierung
- 29. Wie ändere ich die Paginierung in einem Swiper in Text?
- 30. Deklarieren und definieren Sie eine Funktion in einem Namespace?
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
@vincentriemer Hallo! Alles, was Sie uns noch zeigen können ?? –
ja @vincentriemer, das wäre toll :) –