您如何为针对 ORM 的分页定义中继连接?

How do you define a relay connection for pagination against an ORM?

我查看了 Relay 的所有文档,似乎没有关于如何使用 ORM 建立 Relay 连接的直接解释。所有示例似乎都使用 connectionFromArray 方法,如果您将数据存储在内存中,这很好,但是当您将数据存储在数据库中时,您将如何提供连接分页所需的信息工作?

光标是opaque:

The result of this field is considered opaque by Relay, but will be passed back to the server as described in the "Arguments" section below.

因此,根据您的数据模型,将像 ID 字符串这样简单的东西作为游标传递可能是合适的,然后您可以在服务器上使用它来使用像 [=10= 这样的子句加载连接].例如,您可以在此处打包分页所需的任意信息,然后使用 Base-64 对其进行编码。

如果您查看 the code which returns a connection from an array,您将大致了解您需要在 ORM 支持的存储之上实现的语义,而不是像它那样索引到数组中,您将合成一个不透明游标,其中包含足够的信息以使用您的 ORM 进行后续分页。