bugfix> node.js > 投稿

User があります  誰が belongToMany できますか   GroupGroup   belongToMany できます   ReviewQueueStatus 、これは hasMany   ReviewQueues 、次に belongsToMany   SavedSearches

次のようにして、ユーザーの深くネストされた関係を取得しようとしています

 return app.models.User.forge({
    id: req.params.id
  })
     .fetch( { withRelated: ["groups.review_queue_statuses.review_queues.saved_searches"]})

現在、これは1レベルだけ深くなっています。 (つまり、ユーザーが属するすべてのグループを取得でき、各グループ内にネストされているのは、すべての ReviewQueueStatus のリストです の)。ザ・ ReviewQueueStatus  オブジェクトには ReviewQueues があります  プロパティですが、空のリストです。ただし、DB行のエントリを見るときは、そうすべきではありません。

すべてのコードと関連するDBモデルを投稿する前に、このように深くネストすることは可能ですか、または本棚を1レベルだけ深くすることはできますか?本棚のドキュメントに何も見つかりませんでした( https://bookshelfjs.org/api.html )深くネストされたリレーションの取得について言及しています。

ご覧いただきありがとうございます。

回答 1 件
  • はい、モデルが正しくマップされているため、本棚はどの関係レベルにも到達できます。正確に言うと、正しい外部キーを指す正しい関連付け(1対1、1対多など)を設定し、それらを withRelated で同じ名前で参照する必要があることを意味します   fetch() のオプション  または fetchAll()

    すべてのモデルを投稿して、検査できるようにしてください。

あなたの答え