2016-12-28 1 views
0

Also habe ich mit neo4j und php-client graph bewusst gearbeitet, bis jetzt habe ich es irgendwie ok gemacht. Bis jetzt, dass ich versuchen, eine Abfrage Zurückgeben einen count() zu laufen und nicht finden kann, wie die Informationen einzuholen, die Abfrage, die ich laufe ist die nächste Funktion:graphaware bekomme einen zurückgegebenen count() wert

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; 
} 

aber wenn ich versuche, es zu echo durch

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

i bekommen absolut und vollständig nichts, es sogar einen Fehler versenden, die den pHP-Code zu brechen, aber ich kann den Fehler nicht selbst finden.

es ist eine andere Möglichkeit, den Wert eines count() oder etwas, das ich anders machen sollte, holen ??

Antwort

0

Die $result Variable in Ihrer Funktion geben Ihnen ein Result Objekt, das selbst eine Sammlung von ResultRecord Objekten enthält (alle in der Readme des Kunden erklärten https://github.com/graphaware/neo4j-php-client#working-with-result-sets).

Also, zum Lesen des incommon Wert würden Sie tun müssen:

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

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

Auch PHP-Funktionen wie diese verwenden spiegelt nicht wirklich, wie wir Verwendung von PHP in (fast) 2017, vielleicht können Sie teilen ein vollständiges Beispiel Ihres Projekts, damit wir untersuchen können, was falsch ist. Normalerweise sollte das value auf einem Result-Objekt eine Ausnahme auslösen.

Verwandte Themen