rethinkdb PHP-RQL 更改

rethinkdb PHP-RQL changes

我正在使用 PHP-RQL 库来处理 RethinkDB, 我需要在插入新数据时进行更改。 但我收到 PHP 致命错误:未捕获的 RqlDriverError: 选项必须是数组。

在 api 文档中说:

table->changes(array('squash' => true, 'include_states' => false)) → stream
singleSelection->changes(array('squash' => true, 'include_states' => false)) → stream
Return an infinite stream of objects representing changes to a query.

示例:订阅 table 上的更改。

r\table('games')->changes()->run($conn, function($err, $cursor) {
    $cursor->each($console->$log)
})

如何订阅 table 上的更改?这个例子是行不通的。

PHP-RQL目前是完全同步的,所以你不能给它回调。 相反,您会得到一个可以迭代的游标:

$cursor = r\table('games')->changes()->run($conn);
foreach ($update in $cursor) {
    printr($update);
})

您使用什么进行并发?您是否使用任何异步框架(React PHP)或多线程或类似的东西?

目前没有使用 PHP-RQL 与 React 的原生集成,但如果您是 运行 支持线程的 PHP 版本,您可以生成一个线程,在线程内打开一个单独的连接,并从那里使用同步游标接口。