2016-07-31 19 views
0

在我的模型中有一個定義的hyperMorph方法,在我的Neo4j數據庫中有一些多態關係,我試過這兩行來檢查關係的存在,但都返回true,即使在三個節點之間沒有關係:如何檢查Neoeloquent中是否存在超邊?

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

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

哪裏是這兩個問題?

回答

0

您調用的方法getEdge($hyper),構建與給定模型的關係並返回它,用exists它將檢查關係的兩邊是否存在以及它們是否存在於數據庫中(模型不是關係之間),因此它總是給你,因爲你用getEdge構建它,所以存在這種關係。

爲了處理與僅在存在關係時獲取記錄有關的查詢,請使用haswhereHas

https://laravel.com/docs/5.2/eloquent-relationships#querying-relations在查詢關係存在下。

+0

很好的說明,謝謝 – Omid