neo4j огм возвращает не все отношения

Это мой класс OMG:

/**
 * @OGM\Node(label="Personne")
 */
class Personne
{
    /**
     * @OGM\GraphId()
     */
    protected $id;

    /**
     * @OGM\Property(type="string")
     */
    protected $nom;

    /**
     * @OGM\Relationship(targetEntity="Personne", type="SUIT", direction="OUTGOING")
     */
    protected $amis;

И я использую этот код:

$marc = $this->em->getRepository(Personne::class)->findOneBy('nom', 'marc');

print_r($marc->getAmis());

Но он возвращает только 1 отношение, а не все, что не так?

1 ответ

Решение

Он возвращает только один связанный "Personne", потому что вы не определили amis Свойства как коллекция в отображении:

добавлять collection=true в @OGM\Relationship аннотаций.

NB: В PHP 7.1, типизированные свойства могут сделать это, будущая версия OGM может воспользоваться этим (то есть, тогда эта версия будет только 7.1+)

На самом деле я думаю, что OGM должен выдать исключение в случае, если найдено более одной взаимосвязи.

Другие вопросы по тегам