我正在使用棘轮php来检查重新思考db表中所做的更改。 但即使我编辑文档,changes()也不会返回任何内容。我在这里做错了什么?
我确实参考过这篇文章:rethinkdb PHP-RQL changes
这就是我在RethinkDB中查询更改的方法
function fetchProduct() {
$products = r\table("tableOne")->changes()->run($conn);
foreach ($products as $product) {
$p[] = $product;
}
return $p;
}
这就是我每秒通过Rachet检查更改的方法:
$count = 0;
loopy($server, $count);
function loopy($server, $count) {
$server->loop->addPeriodicTimer(1,
function ($timer) use ( &$server, &$count) {
$count++;
echo $count."\n";
//test starts
$product = fetchProduct();
echo "<pre>";
var_dump($product);
//test ends
});
}
但即使编辑文档也没有返回任何数据。它也会停止在Ratchet中执行循环。如果我删除了changes()
,那么当Ratchet循环运行时,它将每秒返回表中的所有文档。但是我希望仅在进行更改时返回数据。我能做到吗?
答案 0 :(得分:0)
我刚刚将迭代更改为此并且有效:
foreach ($products as $product) {
print_r($product);
}