2016-04-14 68 views
2

我有3種型號A,B,C包含和字段過濾器不能一起工作?

一個屬於B B歸屬到C

我想查詢A,包括B,包括C.但我只想從每個模型的幾個領域。 在沒有指定任何「字段」的情況下使用像這樣的過濾器可以正常工作,並帶回嵌套模型。

{ 
    "include": { 
    "relation": "modelB", 
    "scope": { 
     "include": { 
     "relation": "modelC" 
     } 
    } 
    } 
} 

但只要我一個「田」篩選器屬性添加到查詢的任何級別,從該級別的所有包含關係似乎被忽略。所以,如果我問這個過濾器:

{ 
    "fields": ["modelAField"], 
    "include": { 
    "relation": "modelB", 
    "scope": { 
     "include": { 
     "relation": "modelC" 
     } 
    } 
    } 
} 

我只得到MODELA實例與modelAField - 好像我沒有要求被包含在所有modelB。如果我省略頂層的「fields」並將其添加到modelB範圍,那麼我會得到modelA的所有字段,這是我請求的modelB字段的子集,但不包含modelC。

回答

3

我走過了loopback-connector的代碼,它看起來像是發生了什麼,因爲我沒有在我的「fields」數組中包含外鍵字段,所以初始查詢沒有帶回足夠的信息來正確寫入該查詢將帶回相關對象。

TL:博士

包括在所有關係中的外鍵。

來源:https://github.com/strongloop/loopback/issues/2186 我包括這一點,因爲我想很多人編程的時候不要去github上分流或錯誤問題,以找到自己的問題,以SO一個解決方案,但。這就是爲什麼我認爲在這裏發佈這個問題是有用的。

+0

感謝此信息。我瘋了,你救了我的夜晚! 您應該將其標記爲答案;) – Mat

相關問題