graphaware获得返回的count()值

时间:2016-12-28 19:16:02

标签: php neo4j graphaware

所以我一直在研究neo4j和php-client图形,直到现在我已经让它工作了。到目前为止,我尝试运行一个返回count()的查询并且无法找到如何捕获信息,我运行的查询是下一个函数:

function net_in_common($user, $other){
    global $client;

    $searchquery = "MATCH (a:user)-[r:IN_NET]->(b:user)<-[s:IN_NET]-(c:user) WHERE a.username = '" . $user . "' AND c.username = '" . $other . "' return count(DISTINCT b) as incommon";

    $result = $client->run($searchquery);

    return $result;
}

但是当我尝试通过

回应它时
$common = net_in_common($user1, $user2);
echo $common->value('incommon');

我得到绝对的,完全没有,甚至发出一个错误,打破了PHP代码,但我自己找不到错误。

它是一种获取count()的值的不同方式或者我应该做的不同的事情?

1 个答案:

答案 0 :(得分:0)

函数中的$result变量返回一个Result对象,该对象本身包含ResultRecord个对象的集合(所有这些都在客户端https://github.com/graphaware/neo4j-php-client#working-with-result-sets的自述文件中进行了解释)

因此,要阅读incommon值,您必须这样做:

$common = net_in_common($user1, $user2);

echo $common->firstRecord()->get('incommon');

另外,使用这样的php函数并不能真正反映我们在(差不多)2017年使用php的方式,也许你可以分享一个完整的项目示例,这样我们就可以调查出错了,通常调用value在Result对象上应该触发异常。