合并对象以进行动态 rethinkdb 查询
Merge objects to make dynamic rethinkdb query
我正在尝试动态地进行 rethinkdb 查询,但是我使用了以下代码:
<?php
require_once "rdb/rdb.php";
ini_set('memory_limit', '-1');
$conditions = [];
$conn = r\connect('10.7.96.5:28015');
if (isset($_GET["alive"])) {
$conditions[] = r\row("alive")->eq("true" === $_GET["alive"]);
}
if (isset($_GET["times_alive"])) {
$conditions[] = r\row("times_alive")->ge((int) $_GET["times_alive"]);
}
for ($i = 0; $i < count($conditions); $i++) {
if (0 == $i) {
$condition = $conditions[$i];
} else {
$condition .= ->rAnd($conditions[$i]);
}
}
$result = r\db('proxyscrape')->table("proxies")->filter(
$condition
)->run($conn);
foreach ($result as $doc) {
print_r($doc);
}
我收到以下错误:
PHP Parse error: syntax error, unexpected '->' (T_OBJECT_OPERATOR) in /var/www/html/test3.php on line 20
我在 $condition 中寻找的预期结果是
r\row("alive")->eq("true" === $_GET["alive"])->rAnd(r\row("times_alive")->ge((int) $_GET["times_alive"])
通过更改
使其正常工作
$condition .= ->rAnd($conditions[$i]);
到
$condition = $condition->rAnd($conditions[$i]);
我正在尝试动态地进行 rethinkdb 查询,但是我使用了以下代码:
<?php
require_once "rdb/rdb.php";
ini_set('memory_limit', '-1');
$conditions = [];
$conn = r\connect('10.7.96.5:28015');
if (isset($_GET["alive"])) {
$conditions[] = r\row("alive")->eq("true" === $_GET["alive"]);
}
if (isset($_GET["times_alive"])) {
$conditions[] = r\row("times_alive")->ge((int) $_GET["times_alive"]);
}
for ($i = 0; $i < count($conditions); $i++) {
if (0 == $i) {
$condition = $conditions[$i];
} else {
$condition .= ->rAnd($conditions[$i]);
}
}
$result = r\db('proxyscrape')->table("proxies")->filter(
$condition
)->run($conn);
foreach ($result as $doc) {
print_r($doc);
}
我收到以下错误:
PHP Parse error: syntax error, unexpected '->' (T_OBJECT_OPERATOR) in /var/www/html/test3.php on line 20
我在 $condition 中寻找的预期结果是
r\row("alive")->eq("true" === $_GET["alive"])->rAnd(r\row("times_alive")->ge((int) $_GET["times_alive"])
通过更改
使其正常工作$condition .= ->rAnd($conditions[$i]);
到
$condition = $condition->rAnd($conditions[$i]);