2
多対多関係の属性のモデルをthrough
経由で含めることは可能ですか?Sequelize:through.attributeのモデルを含む
のは、私は次のモデルを抱えているとしましょう:
User = sequelize.define('user', {/* attributes */});
Question = sequelize.define('question', {/* attributes */});
Answer = sequelize.define('answer', {/* attributes */});
/* Where */
Question.hasMany(Answer);
Answer.belongsTo(Question);
私は彼が質問に答えるたユーザーごとに保存したいと思います。だから私は、次の関係を追加しました:
UserQuestionAnswerRel = sequelize.define('usersAnwers', {
user: {/**/},
question: {/**/},
answer: {/**/}
});
User.hasMany(Question, { through: UserQuestionAnswerRel });
今、私は彼がに答えすべての質問と彼はを与えた答えを受信するユーザを照会したいと思います。しかし、それはどのように機能しますか?残念ながら、これは動作しません:
User.findAll({
include: {
model: Question,
through: { include: model.Answer }
}
}).then /* */
ご注意:をすべてこのQ &ものは一例に過ぎません。私はthrough
の関係を使用することはできません。
興味深いものです。申し訳ありませんが私はまだ答えがありません。私の質問に似ているのだろうかと思う。 http://stackoverflow.com/questions/38714624/with-sequelize-pre-filter-a-results-set-based-on-custom-attribute私は本質的に 'スルー'モデルにアクセスし、残りのレコードをフィルタリングしたい'inner' join – JAG
なぜ 'through'を使わなければならないのか説明できますか?これは、[ネストされたeager loading](http://sequelize.readthedocs.io/en/latest/docs/models-usage/index.html#nested-eager-loading)を使用して行うのがかなり簡単です。 – Will