为此,我使用了以下代码:
$result = $client->sendCypherQuery('MATCH (n) RETURN n')->getResult();
$nodes = [];
foreach ($result->getNodes() as $node) {
$nodes[] = [
'id' => $node->getId(),
'labels' => $node->getLabels(),
'properties' => $node->getProperties()
];
}
var_dump(json_encode($nodes));
但是我收到以下错误:
致命错误:在C:\ wamp \ www \ PhpProjectNeo4j1 \ index.php中的非对象上调用成员函数getNodes()
答案 0 :(得分:0)
您正尝试在空白或不存在的对象上调用函数。首先打印返回查询的结果。
可能查询不返回任何结果,但首先需要连接到neo4j数据库:
以下是如何执行此操作的示例:
$client = ClientBuilder::create()
->addConnection('default', $cnx['scheme'], $cnx['host'], $cnx['port'], true, $cnx['user'], $cnx['pass'])
->setAutoFormatResponse(true)
->setDefaultTimeout(20)
->build();
$result = $client->sendCypherQuery('MATCH (n) RETURN n')->getResult();
var_dump($result);
一种常见的方法是在遍历数组之前测试返回的结果空白。
if (!empty($result)) {
foreach ($result->getNodes() as $node) {
$nodes[] = [
'id' => $node->getId(),
'labels' => $node->getLabels(),
'properties' => $node->getProperties()
];
}
}