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 版本,您可以生成一个线程,在线程内打开一个单独的连接,并从那里使用同步游标接口。
我正在使用 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 版本,您可以生成一个线程,在线程内打开一个单独的连接,并从那里使用同步游标接口。