2017-11-24 11 views
1

私は会社と製品を持っていますmodel会社から製品のモデルに多くの関係があります。 Getメソッドを作成する方法company nameまたはIDはすべての関連製品を含む企業情報を返します。ループバックでマスター詳細クエリを取得するにはどうすればよいですか?

オブジェクトを休閑のようなもの:

[{ 
     "C_name": "tatli", 
     "address": "TR-IS- aktepe", 
     "tel": "123456789", 
     "id": "5a18772e61b6370e4c713b44", 
     [{ 
    "P_Code": "123456", 
    "P_name": "screw", 
    "QTY": 30, 
    "id": "5a1878af61b6370e4c713b46", 
    "compny_id": "5a18772e61b6370e4c713b44" 
    }, 
    { 
    "P_Code": "123457", 
    "P_name": "Bead", 
    "QTY": 33, 
    "id": "5a1878af61b6370e4c713b47", 
    "compny_id": "5a18772e61b6370e4c713b44" 
    }] 
    }] 

答えて

2

あなたは、当社のモデルに適切に関係を提供している願っています。 linkを参照し、関係を作成するだけではない場合この場合、関係はaに属します。

製品は、次の2つの方法があり、関連する結果を照会するために、当社

に属します。

  • これには、会社のデフォルトモデルが含まれます。ループバックのデフォルトのgetはすべての行を返します。
    "relations": { // make sure the name of product model and foreign key is correct 
        "product": { 
         "type": "belongsTo", 
         "model": "product", 
         "foreignKey": "productId" 
        } 
        }, 
    
    "scope": { 
        "include": "product" 
        }, 
    
    • company.jsonモデルファイル

  • 状の第2の方法は、リモートメソッドでそれを書くことです。 <製品 - - <製品info` `compony例えば、マスター・ディテールの細部のためにそれを作るためにどのよう
Company.getPrefs = function(id, cb) { 
    Company.find({ 
    where: {   
    }, 
    include: [{relation: 'Product'}] 
}; 
+0

? – RSA

+1

@RSAこれはインクルードのスコープ内にインクルードするか、インクルードモデルに追加します –

+0

JSONでスコープを追加するよりも、実装の第2の方法がはるかに優れていると思います。私はhasManyThroughを会社や製品情報との関係で作らなければなりませんでしたか? – RSA

関連する問題