如何在Neoeloquent中检查是否存在超边缘?

时间:2016-07-31 02:29:46

标签: laravel neo4j neoeloquent

在我的模型中有一个已定义的hyperMorph方法,在我的Neo4j DB中有一些多态关系,我已经尝试过这两行检查关系是否存在但两者都返回true,即使三个节点之间没有关系:

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

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

这两个问题在哪里?

1 个答案:

答案 0 :(得分:0)

您正在调用的getEdge($hyper)方法,构建与给定模型的关系并返回它,exists它将检查关系的两个边是否存在以及它们是否存在于数据库(模型不是它们之间的关系),因此,自从您使用getEdge构建它之后,它始终会告诉您关系存在。

为了处理仅在存在关系时提取记录的查询,请使用haswhereHas

查询关系存在下的

https://laravel.com/docs/5.2/eloquent-relationships#querying-relations