Fre*_*mer 3 javascript sequelize.js
是否可以通过 为多对多关系的属性包含模型through?
假设我有以下模型:
User = sequelize.define('user', {/* attributes */});
Question = sequelize.define('question', {/* attributes */});
Answer = sequelize.define('answer', {/* attributes */});
/* Where */
Question.hasMany(Answer);
Answer.belongsTo(Question);
Run Code Online (Sandbox Code Playgroud)
我想为每个用户保存他对问题的回答。所以我添加了以下关系:
UserQuestionAnswerRel = sequelize.define('usersAnwers', {
user: {/**/},
question: {/**/},
answer: {/**/}
});
User.hasMany(Question, { through: UserQuestionAnswerRel });
Run Code Online (Sandbox Code Playgroud)
现在我想查询接收他回答的所有问题和他给出的答案的用户。但这如何运作?不幸的是,这不起作用:
User.findAll({
include: {
model: Question,
through: { include: model.Answer }
}
}).then /* */
Run Code Online (Sandbox Code Playgroud)
请注意:所有这些问答内容只是一个例子。我不可能不使用through关系。
我想查询收到他回答的所有问题和他给出的答案的用户
您应该使用嵌套的急切加载。例如,您的查询可能类似于:
User.findAll({
include: {
model: UserQuestionAnswerRel,
include: [
{ model: Question },
{ model: Answer }
]
}
}).then...
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12515 次 |
| 最近记录: |