2016-10-22 45 views
0

我試圖獲得一個產品,包括它是其中一部分的類別。一門課程有很多產品,一門產品是一門課程的一部分。我這樣做。如何包含「衆多」模型中的「多」關係部分?

Product.find({include: 'Categories'}) 

當我嘗試執行此查詢時,出現錯誤。 「關係」類別「沒有爲產品模型定義」。

我已經根據這裏找到的環迴文檔定義了這個關係:https://docs.strongloop.com/display/public/LB/HasMany+relations。作爲一個類別有很多產品。這看起來如下:

category.json

"relations": { 
    "products": { 
    "type": "hasMany", 
    "model": "Product", 
    "foreignKey": "categoryId" 
    } 
}, 

沒有在products.json定義。我已經檢查過複數,但他們都檢查。

當我試圖獲得所有類別的所有產品時,它的工作原理沒有問題。我很確定這是有意的。但是我怎麼會這樣做呢?我已經嘗試在產品中定義一個關係爲hasOne的文件,這裏記錄:https://docs.strongloop.com/display/public/LB/HasOne+relations。但是這需要在另一個對象中有一個外鍵,所以顯然這僅僅意味着1對1的關係。除此之外,我有點難倒...任何想法?

回答

5

當你從產品方面,包括它,你必須創建在product.json

正如你提到的,一個產品只能屬於一類是關係 - 這意味着關係的名稱應爲類別。

把它看作類似,環回將調用一個函數Product.category

添加按照product.json片斷

"relations": { 
    "category": { 
    "type": "belongsTo", 
    "model": "Category", 
    "foreignKey": "categoryId" 
    } 
}, 

現在嘗試 -

Product.find({include: 'category'})

+0

感謝幫助!我想它必須以某種方式被定義爲雙向。現在我可以在文檔中清楚地看到這一點,所以現在我感到很蠢。 :) – Ozitiho