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 应该抛出一个异常,以防发现多个关系。
这是我的天啊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 应该抛出一个异常,以防发现多个关系。