Neo4jPHP - Работа со многими объектами в наборе результатов

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

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

$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

1 ответ

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

MATCH  (creator:CreatingUser)-[:creator]-(event:Event), (occurrence:EventSpaceTimeOccurrence)-[:occurrence]-(event)
WHERE  creator.id = '1234'
RETURN DISTINCT event, creator, occurrence
Другие вопросы по тегам