Так что я работал с 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 () или что-то, что я должен сделать по-другому?
$result
переменная в вашей функции возвращает вам Result
объект, который сам содержит коллекцию ResultRecord
объекты (все объясняется в README клиента https://github.com/graphaware/neo4j-php-client#working-with-result-sets).
Итак, для чтения incommon
значение, которое вы должны сделать:
$common = net_in_common($user1, $user2);
echo $common->firstRecord()->get('incommon');
Кроме того, использование таких функций php не совсем отражает то, как мы используем php в (почти) 2017 году, возможно, вы можете поделиться полным примером вашего проекта, чтобы мы могли выяснить, что не так, обычно вызывая value
объект Result должен вызывать исключение.
Других решений пока нет …