让我们假设以下表author
,posts
,comments
。
表之间的连接如下:
AuthorModel.hasMany(PostModel);
PostModel.belongsTo(AuthorModel);
PostModel.hasMany(CommentModel);
CommentModel.belongsTo(PostModel);
当我想选择所有特定评论和帖子的作者姓名时,仅存储在表author
中。我真的需要这样做吗?:
Comment.findAll({
attributes: ["text"],
include: [{
model: Post, attributes: [''], include: [{
model: Author, attributes: ['name']
}]
}]
})
这意味着,我是否需要包含Post
模型,然后允许我包含正确的Author
模型,然后允许我选择作者姓名。
或者在某种程度上可以缩短这个并从评论模型中引用特定帖子的作者姓名?
答案 0 :(得分:0)
您可以在同一级别找到包含评论和作者的帖子,如果您需要,也可以为此创建范围
Post.findAll({
include: [{
model: Author
},{
model: Comment
}]
})