2016-03-26 10 views
0

私はcontactデータベーステーブルとモデルを持っています。 Employeeモデルは連絡先から継承します。継承モデルのスコープ

もし私がGET従業員/を行うと、すべての連絡先が返されます。

partnerId = 1の連絡先のみを返却する場合は、employee.jsonをどのように設定する必要がありますか?

{ 
    "name": "employee", 
    "base": "contact", 
    "strict": false, 
    "idInjection": false, 
    "options": { 
    "validateUpsert": true, 
    "postgresql": { 
     "schema": "public", 
     "table": "contact" 
    } 
    }, 
    "scope": { 
    "where": { 
     "partnerId": 1 
    } 
    }, 
    //... 
} 

デバッグ/ GETの従業員を呼び出すと、次のクエリを作ると言う:

SELECT "name", "position", "email", "password", "id" FROM "public"."contact" ORDER BY "id" 

スコープが追加されているようではありません。

モデル/ partner.json

{ 
    "name": "partner", 
    // ... 
    "properties": { 
    "name": { 
     "type": "string", 
     "required": true 
    }, 
    // ... 
    }, 
    "validations": [], 
    "relations": { 
    "contacts": { 
     "type": "hasMany", 
     "model": "contact" 
    } 
    //... 
    }, 
    "acls": [], 
    "methods": {} 
} 

答えて

0

はどこフィルター、いずれかのREST APIの

/employees?filter[where][partnerId]=1 

たりEmployee.jsで

Employee.find({ where: {partnerId:1} }); 

https://docs.strongloop.com/display/APIC/Where+filterを使用してみてください

+0

あなたの最初の解決策は、私が探しているものではありません。従業員のエンドポイントは常にフィルタリングされた結果を返す必要があります。私はすでに2番目の提案を試みましたが、私は次のようになっています:エラー:employee.find()を呼び出せません。 findメソッドが設定されていません。 PersistedModelがDataSourceに正しく接続されていません。 – user3568719

関連する問題