Как подписаться на изменения в драйвере rethinkdb PHP?

Я использую храповик php, чтобы каждую секунду проверять изменения, внесенные в таблицу БД.
Но изменения () ничего не возвращает, хотя я редактирую документ. Что я здесь не так делаю?

Я ссылался на этот пост: rethinkdb PHP-RQL изменения

Вот как я запрашиваю изменения в 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

Решение

Я просто изменил итерацию на это, и это сработало:

 foreach ($products as $product) {
print_r($product);
}
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]