2016-12-28 3 views
0

Donc, j'ai travaillé avec neo4j et php-client graphique conscient, jusqu'à présent, je l'ai fait fonctionner plutôt bien. Jusqu'à maintenant que je tente d'exécuter une requête renvoyant un count() et ne peut pas trouver comment attraper les informations, la requête que je lance est la fonction suivante:graphaware obtenir une valeur count 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; 
} 

mais lorsque je tente de faire écho par

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

i get rien d'absolu et complètement, il même une erreur dépêcher que briser le code php, mais je ne peux pas trouver l'erreur elle-même.

c'est une façon différente de récupérer la valeur d'un count() ou quelque chose que je devrais faire différent ??

Répondre

0

La variable $result dans votre fonction retourne un objet Result qui contient lui-même une collection d'objets ResultRecord (tout est expliqué dans le README du client https://github.com/graphaware/neo4j-php-client#working-with-result-sets).

Ainsi, pour lire la incommon valeur que vous avez à faire:

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

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

Aussi, en utilisant des fonctions PHP comme cela ne reflète pas vraiment la façon dont nous utilisons php dans (presque) 2017, vous pouvez peut-être partager Un exemple complet de votre projet afin que nous puissions enquêter sur ce qui ne va pas, appeler normalement le value sur un objet résultat devrait déclencher une exception.