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

amisマッピングでプロパティをコレクションとして定義していないため、関連する「人」を 1 つだけ返します。

注釈を追加collection=trueします。@OGM\Relationship

注: PHP 7.1 では、型指定されたプロパティを使用できます。OGM の将来のバージョンではそれを利用する可能性があります (つまり、このバージョンは 7.1+ のみになります)。

実際、複数の関係が見つかった場合、OGM は例外をスローする必要があると思います。

于 2016-05-28T02:56:12.707 に答える