neo4j ogm returns 并非所有关系

neo4j ogm returns not all relationships

这是我的天啊class :

/**
 * @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());

但是returns只有1个关系,不是全部,有什么问题吗?

它只返回一个相关的 "Personne",因为您没有在映射中将 amis 属性定义为集合:

@OGM\Relationship注释中添加collection=true

注意:在 PHP 7.1 中,可以加入类型化属性,未来版本的 OGM 可能会利用它(这意味着此版本将仅限 7.1+)

实际上,我认为 OGM 应该抛出一个异常,以防发现多个关系。