1

这是我的 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 个关系,而不是全部,有什么问题?

4

1 回答 1

1

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

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

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

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

于 2016-05-28T02:56:12.707 回答