所以我一直在研究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()的值的不同方式或者我应该做的不同的事情?
答案 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对象上应该触发异常。