0

所以我一直在使用 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() 值的不同方式或我应该做不同的事情?

4

1 回答 1

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,也许您可​​以分享您项目的完整示例,以便我们可以调查问题所在,通常调用valueResult 对象应该会触发异常.

于 2016-12-29T07:16:02.887 回答