0

モデルに定義済みの hyperMorph メソッドがあり、Neo4j DB にいくつかのポリモーフィックな関係があるため、関係の存在を確認するためにこれら 2 つの行を試しましたが、3 つのノード間に関係がない場合でも両方とも true を返します。

$e=$parent->function($related)->edge($hyper)->exists();

$e=$parent->function($related)->getEdge($hyper)->exists();

この二人のどこが問題なの?

4

1 に答える 1

0

呼び出しているgetEdge($hyper)メソッドは、指定されたモデルとの関係を構築し、それを返しますexists。関係の両側が存在するかどうか、およびそれらがデータベースに存在するかどうかを確認します (モデルはそれらの間の関係ではありません)。で構築して以来、関係が存在することを常に示していますgetEdge

リレーションシップが存在する場合にのみレコードのフェッチに関係するクエリを操作するには、 と を使用haswhereHasます。

https://laravel.com/docs/5.2/eloquent-relationships#querying-relationsの Querying Relationship Existence の下。

于 2016-08-01T06:47:21.803 に答える