Это мой класс 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 отношение, а не все, что не так?
Он возвращает только один связанный «Personne», потому что вы не определили amis
Свойства как коллекция в отображении:
добавлять collection=true
в @OGM\Relationship
аннотаций.
NB: В PHP 7.1, типизированные свойства могут сделать это, будущая версия OGM может воспользоваться этим (то есть, тогда эта версия будет только 7.1+)
На самом деле я думаю, что OGM должен выдать исключение в случае, если найдено более одной взаимосвязи.
Других решений пока нет …