2015-02-11 2 views
0

Я возвращаю несколько объектов в запросе Cypher, где некоторые из них являются единственными, а некоторые другие могут иметь много. Например, если бы я был RETURN name, dob, address, name вернул бы один объект, dob вернул бы один объект, а addresses мог возвращать несколько объектов.Neo4jPHP - Работа со многими объектами в результирующем наборе

Как мне пройти через набор результатов, получая правильные данные и собирая его в массив, который имеет смысл? Например:

$array = array(
    name = 'name', 
    dob = 'd/o/b', 
    addresses = array(
     array(
      'myData' 
     ), 
     array(
      'myData' 
     ) 
    ) 
) 

До сих пор, когда я foreach($result as $row) строка содержит дубликаты для name и dob для каждого из различных address.

Это мой Cypher запрос:

MATCH (creator:CreatingUser)-[:creator]-(event:Event), (occurrence:EventSpaceTimeOccurrence)-[:occurrence]-(event) 
WHERE creator.id = '1234' 
RETURN event, creator, occurrence 
+0

Что делает ваш полный взгляд Cypher запросов, как? –

+0

'MATCH (создатель: CreateUser) - [: creator] - (событие: событие), (событие: EventSpaceTimeOccurrence) - [: появление] - (событие) WHERE creator.id = '1234' Событие, создатель, событие RETURN ' –

ответ

0

Используйте distinct ключевое слово:

MATCH (creator:CreatingUser)-[:creator]-(event:Event), (occurrence:EventSpaceTimeOccurrence)-[:occurrence]-(event) 
WHERE creator.id = '1234' 
RETURN DISTINCT event, creator, occurrence 
Смежные вопросы