3

REST サービスを作成するために、Strongloop のループバック ツールを使用しています。モデルを要求するときに、どの関連エンティティを返すかを定義する方法を知りたいです。

のようなリクエストを送信すると、関連する投稿モデルが返されることがドキュメントでわかります。また、投稿やコメントを取得するなどGET /api/members?filter[include]=postsのリクエストを行うことができることを発見しGET /api/members?filter[include]=posts&filter[include]=commentsましたが、コードまたは生成されたのいずれかで定義する方法はありますかモデルを要求するときに特定のリレーションを常に返す json ファイルを作成しますか?

4

2 に答える 2

3

アカウントとの関係を取得するには、2 つの異なる簡単な方法を使用できます。

  1. Model.json ファイルでのモデル定義の使用。

    "validations": [],
    "relations": {
      "team": {
      "type": "belongsTo",
      "model": "Team",
      "foreignKey": ""
    },
    "user": {
      "type": "belongsTo",
      "model": "User",
      "foreignKey": ""
    }
    }
    

これにより、直接関係を使用して常に 1 つのモデルが別のモデルにバインドされ、次のコード行を使用してそれらを取得できます。

app.models.TeamRole.findOne({
      where: {
        userId: user.id
      },
      include:[ {
        relation: 'team'
      },
{
        relation: 'user'
      } ]
    },function(err,team,user){
//retrieve relational data here
});
  1. 操作フックの概念を使用して、このような種類の関係を簡単に取得できます。

乾杯。

于 2017-09-30T19:49:26.490 に答える
1

事前設定されたフィルタ プロパティは、デフォルト スコープと呼ばれます。それをサポートする保留中のプル リクエストがあります。https://github.com/strongloop/loopback-datasource-juggler/pull/296をご覧ください。

機能がリリースされる前の回避策として、 beforeRemote フックを使用して、デフォルトのスコープでフィルター オブジェクトを更新できます。http://docs.strongloop.com/display/LB/Defining+remote+hooksを参照してください。

于 2014-09-23T23:41:33.080 に答える